Truques VBA Raramente Usados - Não Seja Pego no Loop
Sei que pode parecer redundância, mas pense sempre fora da caixa. Mesmo que, para isso, precise abrir mão de usar o VBA. Nós programadores precisamos utilizar as melhores soluções entre os 2 mundos e isso, às vezes, na verdade muitas vezes, significará utilizarmos aquilo que já existe pronto no próprio MS Excel.
Não seja pego na Loop:
Francamente, tento correr de usar Loops. Geralmente são demasiadamente lentoooosss!
Um erro comum que todos cometemos ao aprender VBA é o de usar Loops quando realmente não são necessários. Observe este exemplo simples logo abaixo, onde a proposta é colocarmos a palavra vazio escrita em cada célula que estiver em branco.
Sub EahhWrongWay ()
Dim Bcell Como Gama
Para Cada Bcell Em Range ("A1: D500")
Se IsEmpty (Bcell) Então Bcell = "vazio"
Próximo Bcell
End Sub
Agora compare com o código abaixo:
Sub OhhEahhRightWay ()
Range ( "A1: D500"). SpecialCells (xlCellTypeBlanks) = "vazio"
End Sub
Muito Melhor!
Este código não somente é melhor como muito mais fácil de escrever e muito mais rápido.
Da próxima vez que precisar de algo assim, não se apresse com um Loop. Dê um passo para atrás e pense seriamente em utilizar as funções construídas em C# dentro do próprio MS Excel. Algumas das minhas favoritas são: SpecialCells, AutoFilter, Find, AdvancedFilter e Subtotals, para citar apenas algumas. Quando começar a usá-las, sempre pensará duas vezes antes de usar de qualquer jeito um loop.
Posso prometer-lhe que utilizar estes recursos quase sempre significará ter sua solução sendo executada pelo menos 100 vezes mais rápida do que num Loop!
brazilsalesforceeffectiveness@gmail.com