NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!
UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI
Uma coleção é um grupo de objetos relacionados. Todo controle que você arrasta para o Form é um objeto. E cada objeto adicionado ao Form é adicionado a uma coleção. Essa coleção é conhecida como coleção de controles ou Control Collection.
1 - Entre no Visual Studio e crie um novo projeto do tipo Windows Application chamado Coleções.
2 - Arraste 3 Buttons para o Form1.
Sempre que adicionamos controles como o Button, por exemplo, ao nosso Form, automaticamente os controles são adicionados a coleção de controle do Form, vamos chamar essa coleção de Control Collection daqui pra frente.
3 - Dê um clique duplo sobro o Button1 e digite o seguinte código:
Dim controles As Control
For Each controles In Controls
controles.Text = “OK”
Next
Vai ficar assim:
4 - Execute sua aplicação.
5 - Clique no Button1.
Nosso loop modificou a propriedade Text de todos os botões para OK.
Vamos analizar o código que digitamos.
Primeiramente declaramos a variável controles do tipo Control que representará os controles do Form1.
Dim controles As Control
Depois criamos um loop que passou por cada controle modificando sua propriedade Text.
For Each controles In Controls
controles.Text = “OK”
Next
6 - Você pode filtrar os controles que quer modificar também, vamos fazer isso modificando o Loop do Button1 para o seguinte:
For Each controles In Controls
If controles.Name <> “Button1” Then
controles.Left = controles.Left + 20
End If
Next
Vai ficar assim no painel de código:
7 - Execute a aplicação.
8 - Clique no Button1.
Agora apenas o Button2 e Button3 foram alterados pelo Loop. Já que adicionamos o If para testar se o controle não era o Button1. Mudamos uma propriedade diferente desta vez, movimentando assim os Buttons para a direita.
Você pode referenciar a um controle na coleção individualmente, para isso você utiliza o indice para localizar um objeto da coleção. Como nos arrays o indice começa sempre em 0. Outro ponto importante é que o primeiro controle do indice, ou seja, o indice 0 é o último controle adicionado no Form1, o penultimo tem indice 1 e assim sucessivamente. Se você adicionar um controle novo , ele fica com indice 0 e os outros pulam um pra frente sucessivamente.
Assim para alterar o Button3 poderiamos usar a seguinte linha de código:
Controls(0).Left = Controls(0).Left + 35
Lembrando que Controls representa todos os controles do Form1, ou seja, a Control Collection.
9 - No Form1 de um clique duplo sobre o Button2 e digite o seguinte código:
Controls(0).Left = Controls(0).Left + 35
10 - Execute a aplicação.
11 - Clique no Button2.
Conforme citado o indice 0 representa o último controle adicionado no Form1, então nosso código moveu apenas o Button3 - que foi o último controle adicionado - para a esquerda.
Você também pode criar suas próprias coleções e adicionar controles a elas.
Para criar uma coleçãoo você usa a seguinte sintaxe:
Dim NomedaColeção As New Collection
12 - Dê um clique duplo sobre o Button3 e digite o seguinte código:
Dim minhaColecao As New Collection
minhaColecao.Add(Button1)
minhaColecao.Add(Button2)
Dim controles As Control
For Each controles In minhaColecao
controles.Text = “Meu”
Next
A primeira linha de código cria a nossa coleção. Damos a ela o nome de minhaColecao.
Depois adicionamos o Button1 e Button2 a nossa coleção.
Pra finalizar fizemos um Loop, mas note que agora ao invés de varrer Controls que representa a Control Collection ou coleção de controles do Form1, varremos a nossa coleção: minhaColecao.
13 - Execute a aplicação.
14 - Clique no Button3.
Os controles da nossa coleção tem a propriedade Text definidas como Meu.
Control Collection é a coleção de controles do seu formulário. O último controle adicionado é sempre o de índice 0 e assim sucessivamente. Neste tutorial você aprendeu também a criar suas próprias coleções.
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2025 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI