Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

Mostrando postagens com marcador Loop. Mostrar todas as postagens
Mostrando postagens com marcador Loop. Mostrar todas as postagens

Truques VBA Raramente Usados - Não Seja Pego no Loop

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: SpecialCellsAutoFilterFindAdvancedFilter 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

✔ Brazil SFE®Author´s Profile  Google+   Author´s Professional Profile   Pinterest   Author´s Tweets

VBA Excel - O uso dos Laços - Loop Through Controls on a UserForm. Textbox, ComboBox, CheckBox etc

Os laços são parte integrante de qualquer linguagem de programação.

É de se reconhecer que muitas pessoas os utilize, mas não saibam o seu nome ou a extensão de até onde podem ser utilizados.

Loop através dos objetos (controls) de um formulário:
Os controles dentro de um formulário são uma ótima maneira de apresentar / coletar dados dos usuários. Haverão ocasiões que será necessário percorrer todos os controles em um formulário (UserForm), ou apenas valores especificados.

Loop através de todos os controles:

Private Sub CommandButton1_Click()

Dim cCont As Control

For Each cCont In Me.Controls

'Digite as suas ações aqui.

Next cCont

End Sub

Loop somente através de controles específicos:

Private Sub CommandButton1_Click()
Dim cCont As Control

For Each cCont In Me.Controls
If TypeName(cCont) = "TextBox" Then
'Digite as suas ações aqui.
End If
Next cCont
End Sub

Loop através de Controles específicos em páginas específicas de um controle MultiPage:

Private Sub CommandButton1_Click()

Dim cCont As Control

For Each cCont In Me.MultiPage1.Pages(0).Controls

If TypeName(cCont) = "TextBox" Then

'Digite as suas ações aqui.

End If

Next cCont

End Sub


Tags: VBA, Excel, Loop, through, userform, textbox, combobox, checkbox, laço, multipage

eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine