Arrays VBA do Excel - Lista dos 5 principais tipos de matrizes (com exemplos)

Arrays Excel VBA

Em geral, uma variável deve conter um único valor por vez, mas quando queremos armazenar vários valores em uma única variável, esse tipo de variável é conhecido como variável de array, para usar uma variável de array em VBA, precisamos declarar ou defini-lo primeiro, podemos definir a variável do array com seu comprimento ou sem seu comprimento.

Suponha que temos dados que contêm centenas de linhas e várias colunas e precisamos criar um código que usará os dados. Agora, neste caso, temos que criar múltiplos da variável que irá buscar o valor das células e entregá-los ao programa. Será muito cansativo criar uma variável tão grande e, portanto, nesses casos, usamos Arrays no Excel.

Os arrays mantêm o conjunto de dados em sua memória e não precisam que declaremos a variável para cada valor que precisa ser obtido dos dados. A necessidade de usar matrizes é devido ao fato de que em uma variável do Excel é projetada para conter um valor de cada vez. No entanto, quando vários valores são armazenados por uma variável, ela se torna uma matriz.

  • Criar uma matriz é como criar uma unidade de memória separada que pode conter os dados nela. Para criar um Array, os dados devem ser do mesmo tipo.
  • As matrizes que fornecemos ao Excel devem corresponder ao tipo de dados que temos. Suponha que se temos dados que têm apenas linhas, então, neste caso, usaremos a "matriz unidimensional", e se os dados contiverem colunas também, teremos que usar "matrizes bidimensionais", pois eles só são capazes de conter os valores das linhas e colunas.
  • Os arrays também precisam funcionar para funcionar como arrays dinâmicos ou arrays estáticos. Como damos um intervalo dinâmico à fórmula, também podemos tornar os Arrays variáveis. Os arrays dinâmicos terão a funcionalidade de incluir um número infinito de linhas e colunas. No caso de os arrays que definimos serem do tipo estático, eles podem conter apenas um número limitado de linhas e colunas, conforme definido no momento da criação do array.

Explicação

Array trabalha com a “regra matemática de uma matriz”. Ou seja, eles identificam os dados apenas por sua localização. Suponha que se temos que fazer o VBA entender que precisamos de “20” na célula “B3”, então temos que escrever o código da localização como (3, 2) onde o primeiro valor representa a localização da linha e o segundo valor representa o número da coluna. No mundo do Excel, esse código de locais é chamado de "limite superior" e "limite inferior". Por padrão, a localização no excel começa em um e não em zero, então o excel vê “A1” como a linha número 0 e não a linha número 1.

Da mesma forma, as colunas começam de zero e não de um.

Essas matrizes podem ser definidas como uma matriz estática ou dinâmica. Se os definirmos como um array estático, isso significa que eles não podem conter mais do que as variáveis ​​definidas durante a codificação. Se não tivermos certeza sobre o valor que deve ser memorizado pelos arrays, criamos arrays dinâmicos e, nesses casos, eles podem conter números infinitos de valores.

Agora, depois de selecionar o tipo de array que é necessário, teremos que inserir os dados nesses arrays.

Esses dados devem ser fornecidos um por um para se sobressair nas formas abaixo.

Depois que os dados são armazenados nessas matrizes, eles estão prontos para serem usados ​​como uma variável na codificação do VBA.

Lista dos 5 principais tipos de matrizes

  1. Matrizes estáticas
  2. Matriz Dinâmica
  3. Matriz unidimensional
  4. Matriz bidimensional
  5. Matriz Multidimensional

Vamos ver cada um deles em detalhes.

# 1 - Matrizes estáticas

Uma matriz que possui uma contagem predefinida de valor que pode ser armazenada nela.

# 2 - Matriz dinâmica

Matriz com uma contagem não predefinida de valor que pode manipular.

# 3 - Matriz unidimensional

Uma matriz que pode conter apenas dados de linhas ou colunas.

# 4 - Matriz bidimensional

Uma matriz que pode armazenar um valor das linhas e colunas.

# 5 - Matriz multidimensional

Como usar Arrays em VBA (com exemplos)?

Os arrays podem ser usados ​​em muitas situações, mas devem ser usados ​​quando o número de variáveis ​​que devem ser declaradas é grande e não é viável declará-las.

Abaixo estão alguns dos exemplos, mas antes de ir para os exemplos, aprenderemos a abrir o editor VBA por tecla de atalho.

Isso abrirá o editor VBA. A partir daí, temos que inserir o código em “Esta planilha”.

Exemplo 1

Escolha o tipo de array que você deseja. Deve ser uma matriz dinâmica ou estática?

Se precisarmos de uma matriz dinâmica, definiremos a dimensão como "variante".

Se precisarmos de uma matriz estática, definiremos uma dimensão como "Estática".

Exemplo # 2

Defina as colunas e linhas que você deseja que a matriz armazene.

Se inserimos “1” no colchete, isso significa que o array pode conter o valor de duas linhas, já que a contagem do Excel começa do zero.

Se precisarmos de colunas e linhas também, precisamos definir as duas.

Aqui, “1 a 2” significa duas linhas e “1 a 3” significa três colunas.

Aqui nós mudamos a regra de como o Excel conta linhas e pedimos para contar a partir de “1” e não de zero.

Exemplo # 3

A entrada de dados na matriz.

Os dados devem ser inseridos nas células. Aqui, os dados devem ser inseridos na forma de (I, j), onde “I” significa a linha e “J” significa a coluna.

Portanto, "a (1,1") significa aquela célula "A1."

Exemplo # 4

Estamos fechando o código.

Depois que os dados forem inseridos no array, a última etapa será fechar o código.

Coisas para lembrar

  • Por padrão, o Excel contará as linhas começando do zero. Isso significa que “2” no lugar de “I” significa 3 linhas e não 2 linhas. O mesmo se aplica a “J.”
  • Os dados que devem ser inseridos para a matriz devem ser iniciados a partir de (0, 0), ou seja, da primeira linha e da primeira coluna.
  • Caso estejamos usando os arrays dinâmicos, então será necessária a função de “VBA REDIM” para definir o número de linhas e colunas que devem ser memorizadas.
  • No caso de criar um array bidimensional, então temos que usar “Integer” como dimensão.
  • O arquivo do Excel precisa ser salvo na versão que é “compatível com macro”, caso contrário, a codificação que fizemos em VBA desaparecerá e não será executada na próxima vez.

Artigos interessantes...