Tamanho do Array VBA - Guia Passo a Passo com Exemplos

Neste artigo, fornecemos um guia passo a passo para encontrar o tamanho do array usando o código VBA.

Como encontrar o tamanho de uma matriz usando o código VBA?

Siga as etapas para encontrar o tamanho da matriz usando o código VBA do Excel.

  • Etapa 1: vamos começar com o básico primeiro, declarar uma variável no VBA como o tipo de dados variante.

Código:

Sub Array_Size () Dim MyArray As Variant End Sub
  • Passo 2: Para esta variável use a função ARRAY e atribua alguns valores conforme mostrado abaixo.

Código:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Abr", "May", "Jun", "Jul") End Sub
  • Etapa 3: Ok, atribuímos alguns valores ao nome do array “MyArray”.

Suponha que se precisamos escrever um loop para armazenar esses valores de array nas células, precisamos decidir quantas vezes o loop deve ser executado. Isso depende do número de valores que a matriz possui.

Ok, agora olhe para o número de valores atribuídos ao nome do array “MyArray”, há um total de 7 valores atribuídos ao array, então agora sabemos quantas vezes o loop tem que ser executado para armazenar os valores de um array nas células .

  • Etapa 4: Declare outra variável como número inteiro para escrever o loop FOR no VBA.

Código:

Sub Array_Size () Dim MyArray como variante MyArray = Array ("Jan", "Feb", "Mar", "Abr", "May", "Jun", "Jul") Dim k As Integer For k = 1 To 7 Next k End Sub
  • Etapa 5: Pronto, abrimos o loop FOR começando de 1 a 7, dentro do loop escreva a propriedade CELLS para armazenar como mostrado abaixo.

Código:

Sub Array_Size () Dim MyArray como variante MyArray = Array ("Jan", "Feb", "Mar", "Abr", "May", "Jun", "Jul") Dim k As Integer For k = 1 To 7 Células (k, 1) .Value = MyArray (k) Next k End Sub
  • Etapa 6: Ok, agora execute o código linha por linha pressionando uma tecla de função F8. Ao pressionar a tecla F8 pela primeira vez, a macro será iniciada.
  • Etapa 7: Pressione F8 agora, ele irá pular para a linha de atribuição de valor do array.
  • Etapa 8: A partir de agora o nome do array “MyArray” não tem valores, pressione F8, e todos os valores mencionados serão atribuídos à variável do array.
  • Etapa 9: Agora o loop começará a ser executado e pressione a tecla F8 2 vezes e veja qual valor obtemos na célula A1.
  • Opa !!! Espere aí, nosso primeiro valor na variável de array é “Jan”, mas obtivemos o resultado como o segundo valor “Fev” quando ainda o primeiro loop de valor está em execução.
  • Etapa 10: Isso ocorre porque quando sua contagem de valores de array começa em zero, não em 1, então precisamos incluir o loop inicial como zero.
  • Etapa 11: uma vez que a posição inicial do loop for diminuída em uma, a finalização semelhante também deve ser diminuída em 1, então faça a finalização em 6 em vez de 7.
  • Etapa 12: Uma vez que o início e o fim do loop decidiram mais um ajuste que precisamos fazer, ou seja, na propriedade CELLS usamos a variável "k" como o seletor de célula dinâmico, mas como nosso loop começa do zero, não há nenhuma célula começa com zero , então adicione mais 1 à variável “k”.

Código:

Sub Array_Size () Dim MyArray como variante MyArray = Array ("Jan", "Feb", "Mar", "Abr", "May", "Jun", "Jul") Dim k As Integer For k = 0 To 6 Células (k + 1, 1) .Value = MyArray (k) Next k End Sub
  • Etapa 13: Agora, ao executar o loop pela primeira vez, o valor “k” é zero e, como adicionamos mais 1, o valor “k” será 1, então se refere à célula A1.
  • Passo 14: Agora execute o código, e todos os valores do array serão armazenados nas células.

No entanto, neste caso, decidimos o tamanho inicial e final do loop manualmente, mas o tamanho do array pode ser determinado facilmente usando as funções LBOUND e UBOUND.

Encontrar o tamanho de uma matriz automaticamente

  • Etapa 1: Quando incluímos o ponto inicial e final do loop acima, contamos manualmente o número de valores que o array tem, mas para iniciar o array use a função LBOUND e para isso passar o nome da variável “MyArray”.
  • Etapa 2: E para determinar o tamanho do último array, use a função UBOUND e insira o nome do array “MyArray”.

Código:

Sub Array_Size () Dim MyArray como variante MyArray = Array ("Jan", "Feb", "Mar", "Abr", "May", "Jun", "Jul") Dim k As Integer For k = Lboubd (MyArray ) Para células UBound (MyArray) (k + 1, 1) .Value = MyArray (k) Next k End Sub
  • Passo 3: Ok, agora inicie o código linha por linha e pressione a tecla F8 até atingir o ponto inicial do loop.
  • Passo 4: Agora primeiro coloque o cursor em “LBound (MyArray)” e veja o que ele diz.
  • Passo 5: O número do ponto inicial que diz ser zero, agora coloque o cursor em “UBound (MyArray)” e veja o que diz.

Ele diz que o tamanho do array é 6, assim como mencionamos iniciar e terminar manualmente, UBOUND e LBOUND escolhem automaticamente os números para nós.

Artigos interessantes...