Etapa importante ao desenvolver Softwares no Excel & VBA
Quando desejamos criar um software utilizado o VBA no Excel, precisamos saber e entender várias coisas que precisarão ser feitas durante o processo de criação.No meu ponto de vista, uma das coisas mais importantes, quando programamos no Excel, é saber se movimentar na planilha e entre as planilhas.
Desta forma, fica mais fácil desenvolver o restante pois, saberemos como tratar os dados: onde buscar, gravar, alterar, eliminar e calcular os dados (entre outras tarefas).
Existem muitas maneiras (comandos) que permitem que façamos isto. O importante é sabermos exatamente o que queremos fazer para que possamos fazer da melhor maneira possível.
Para que possamos nos movimentar dentro de uma planilha, devemos criar e utilizar variáveis (Um local de armazenamento nomeado que pode conter dados, os quais podem ser modificados durante a execução do programa). Veja o exemplo abaixo:
Sub Macro1( )
i = 1
Do Until i > 100000 'Faz repetições até q/ 'i' seja maior que 100000
i = i + 1
Loop
Msgbox "Contei até " & 100000 'Msgbox: Exibe uma mensagem
End Sub
No exemplo acima, quando a variável 'i' (que de início vale 1) atinge o número 100000 (cem mil), o código é interrompido (finalizado) e, uma mensagem é exibida: Contei até 100000.
Veja outro exemplo: imagine que você precise criar uma numeração de 1 a 20 na coluna 'A'.
O resultado, após rodar esta macro, é uma numeração de 1 a 20 nas células "A1" até a célula "A20".
Para movimentar-se entre as planilhas, a lógica é a mesma. A diferença é que nos referimos às planilhas e não às células. A primeira coisa a ser feita, é a contagem das planilhas:
Sub Macro4()
lin = 3
Sub Macro2( )
i = 1
Do Until i > 20 'Faz repetições até que 'i' seja maior que 20
cells(i, 1) = i 'Escreve o valor de 'i' ca coluna 'A'
i = i + 1
i = i + 1
Loop
End Sub
O resultado, após rodar esta macro, é uma numeração de 1 a 20 nas células "A1" até a célula "A20".
Para movimentar-se entre as planilhas, a lógica é a mesma. A diferença é que nos referimos às planilhas e não às células. A primeira coisa a ser feita, é a contagem das planilhas:
Sub Macro3( )
contar = Sheets.Count
Msgbox "Esta pasta contém " & contar & " planilhas."
End Sub
Agora, podemos fazer outras coisas, pois de acordo com a contagem das planilhas, podemos dizer ao Excel onde e o que fazer com elas (planilhas). Imagine que você possua uma pasta com 7 planilhas:
- A 1ª planilha é a que possui os botões com as macros (Nome Controle);
- A 2ª e 3ª planilhas são nomeadas com: Custos e Contabilidade;
- As demais planilhas são nomeadas com Relatório1, Relatório2 ....
Se quisermos criar uma macro para listar somente as planilhas que comecem com "Rel" (de Relatório) podemos utilizar o seguinte código:
lin = 3
'Faz repetições até que 'i' seja igual ao número de planilhas
For i = 1 To Sheets.Count
'Se as 3 1ªs letras do nome da planilha forem = 'Rel' (Então)
If Mid(Sheets(i).Name, 1, 3) = "Rel" Then
'Lista na planilha 'Controle' o nome das planilhas
Sheets("Controle").Cells(lin, 2) = Sheets(i).Name
lin = lin + 1
End If
Next i
End Sub
For i = 1 To Sheets.Count
'Se as 3 1ªs letras do nome da planilha forem = 'Rel' (Então)
If Mid(Sheets(i).Name, 1, 3) = "Rel" Then
'Lista na planilha 'Controle' o nome das planilhas
Sheets("Controle").Cells(lin, 2) = Sheets(i).Name
lin = lin + 1
End If
Next i
End Sub
Note que neste exemplo não utilizei a instrução Do Until ... Loop. Neste caso é melhor utilizar a instrução For ... Next.
Estes exemplos podem ser copiados e colados diretamente no Visual Basic para que você possa testá-los e entendê-los melhor.
Eles ainda podem ser modificados para fazer inúmeras coisas:
É isso é uma boa base para o começo criando as variáveis.
ResponderExcluir=)
Isso mesmo caro amigo Douglas.
ExcluirUma das coisas mais difíceis para mim eram as variáveis. Não conseguia entender. Agora, show. Estou conseguindo desenvolver algumas soluções. Obrigado Professor Ivair
ResponderExcluir