Assim que você escrever um código que seja executado com sucesso e faça o que você quer, é sempre uma boa ideia salvá-lo e começar a trabalhar em uma versão mais recente para otimizar. Compare a versão “_test” com a minha revisão usando a construção With / End With (a versão sem “_test”).
Observe como o código a seguir exemplifica o lema "Tornando o Complexo Simples". Com menos linhas de código, você tem menos objetos e métodos para procurar e ler, o que é menos trabalhoso e, em alguns casos, simplifica a lógica de fluxo de controle . Aqui está o código novamente:
Sub LoopThroughColumn()
'Loop through all of the cells in one column of a small table and add the RowNumber _to the Sheep value and put the result in the cell to the rightApplication.ScreenUpdating = FalseDim Counter As IntegerDim FinalRow As IntegerDim Header As RangeDim NewId As VariantExcel.Application.Workbooks("ExcelDemo.xlsm").Worksheets("SleepStudy").ActivateSet Header = ActiveSheet.Range("B1")FinalRow = Cells(Rows.Count, 1).End(xlUp).RowFor Counter = 0 To FinalRow - 2Set NewId = Header.Offset(Counter + 1, 1)With NewId.Value = Header.Offset(Counter + 1).Value + Counter + 1 _& "G" & WorksheetFunction.RandBetween(100, 999).Font.ColorIndex = 25End WithNext Counter
End Sub
As quatro principais diferenças são as seguintes:
1. Pegue a referência repetitiva mais longa do código e coloque-a em uma variável. Nesse caso, as células que contêm nossa resposta (uma à direita da coluna “Ovelha”) podem ser armazenadas em uma variável, pois ela é usada com muita frequência.
2. Use a construção With / End With sempre que precisar usar mais de um método em um objeto. Como estou mudando a cor e o valor, a diferença parece pequena aqui. Em Sub maiores e mais complexas, há uma diferença considerável na legibilidade - e o Gravador de Macros os usa, portanto, é mais uma construção com a qual você deve se acostumar a usar
3. Combine as duas etapas no loop que modificam a propriedade de valor. É muito mais fácil de ler e resulta em menos linhas de código. Agora estou realizando o cálculo simples e concatenando a String até o fim dela. O Excel facilita essa ação, permitindo a conversão implícita entre os tipos de dados Integer e String (e outros) quando você usa o tipo de dados “Variant” como eu.
4. Defina o valor "NewId" dentro do loop. Se você definir o valor após o loop, a macro falhará porque você não instanciou nem definiu uma instância de “NewId” para uso antes da primeira vez em que é chamada. Se você definir o valor antes do loop, sua Macro será executada, mas apenas fornecerá um novo valor para a primeira célula na nova coluna, porque o valor do contador é zero e não é alterado até que o loop seja iniciado.
Notas de rodapé
Para o propósito de manter a prosa concisa, a análise de dados e a reconciliação entre o relatório ad hoc csv do cliente e sua planilha serão referidas como "o processo". Em outras palavras, você não precisa fazer login em outra máquina durante o processo para entender as relações entre os pontos de dados. Se o seu sistema ou administrador de rede tiver a largura de banda, sinta-se à vontade para trabalhar com ele enquanto atualiza seu código para considerar atualizações de senha agendadas e alteração dos níveis de permissão para todos os usuários relevantes. Como alternativa, você pode evitar o problema escrevendo macros específicas para cada domínio no processo. Se uma dessas opções não estiver disponível para você, o VBA pode não ser a solução ideal para esse problema.
Arquivos TXT ou CSV podem ser convertidos em arquivos de trabalho do Excel (arquivos XLS)
A fórmula “FinalRow” é algo encontrado no excelente livro de VBA, “VBA e Macros: Microsoft Excel 2013” por Bill Jelen e Tracy Syrstad na página 82. É uma fórmula que permite que você encontre dinamicamente o tamanho de uma tabela ou intervalo. Você vai apreciar isso muito mais depois, mas apenas tenha uma ideia agora. Pense em como funciona, desmembrando-a usando o método “select”. Na verdade, pode-se matar dois coelhos com uma só cajadada, ajudando você a usar o explorador de objetos enquanto quebra essa linha.
Série de Livros nut Project
Série DONUT PROJECT 2021
Série DONUT PROJECT 2018
Série DONUT PROJECT 2015
Série DONUT PROJECT 2014
Clique aqui e nos contate via What's App para avaliarmos seus projetos
Envie seus comentários e sugestões e compartilhe este artigo!
brazilsalesforceeffectiveness@gmail.com
Nenhum comentário:
Postar um comentário