Função VBA Arrays no Excel

Em VBA arrays são usados ​​para definir o grupo de objetos juntos, existem nove funções de array diferentes em VBA e são ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT e UBOUND, todas estas funções integradas para array no VBA, a função Array nos dá o valor para o argumento fornecido.

Função Excel VBA Array

A função de matriz é uma coleção de valores em uma única variável. Podemos fornecer uma matriz para uma sub-rotina em vba, funções e propriedades. Arrays VBA são uma das técnicas frequentemente usadas para armazenar mais de um valor na variável.

Exemplos de função de matriz VBA do Excel

Em vez de declarar muitas variáveis ​​e armazenar os valores, podemos usar o array VBA do Excel para armazenar o valor em uma única variável. Por exemplo, veja o exemplo abaixo

Você pode baixar este modelo VBA Array Excel aqui - VBA Array Excel Template

Código:

 Sub Array_Ex () Dim x As Integer Dim y As Integer x = 1 y = 2 Range ("A1"). Value = x Range ("A2"). Value = y End Sub 

No exemplo acima, declarei duas variáveis ​​chamadas x e y. X contém 1 como o valor e Y mantém 2 como o valor.

Agora, olhe para o exemplo de função de matriz VBA do Excel com uma única variável.

Código:

 Sub Array_Ex () Dim x (1 a 2) como intervalo inteiro ("A1"). Valor = x (1) Intervalo ("A2"). Valor = x (2) End Sub 

Agora, se você executar este código VBA, teremos valores nas células A1 e A2.

Variáveis ​​de matriz retornaram o resultado como zero. Isso ocorre porque acabamos de declarar as variáveis ​​como duas, mas não atribuímos nenhum valor a essas variáveis. Portanto, precisamos atribuir valores a essas variáveis.

Código:

 Sub Array_Ex () Dim x (1 a 2) As Inteiro x (1) = 10 x (2) = 20 Intervalo ("A1"). Valor = x (1) Intervalo ("A2"). Valor = x (2 ) End Sub 

Agora execute o código para obter resultados.

Antes de inserirmos os valores das variáveis ​​de array nas células, precisamos atribuir o valor a essas variáveis ​​de array declaradas, como atribuímos as variáveis ​​x (1) = 10 & x (2) = 20.

Exemplo # 1 - Inserir números de série usando matriz estática

Vejamos o exemplo do uso de uma matriz estática para inserir números de série. Isso é muito parecido com o anterior.

Código:

 Sub StaticArray_Ex () Dim x (1 a 5) As Integer x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Intervalo ("A1"). Valor = x (1) Faixa ("A2"). Valor = x (2) Faixa ("A3"). Valor = x (3) Faixa ("A4"). Valor = x (4) Faixa ("A5" ) .Value = x (5) End Sub 

Agora execute este código para inserir números de série.

Exemplo 2 - Inserir números de série usando matriz dinâmica

Agora veremos o segundo tipo de array, ou seja, array dinâmico

Código:

 Sub DynamicArray_Ex () Dim x () As Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Faixa ("A1" ) .Valor = x (1) Faixa ("A2"). Valor = x (2) Faixa ("A3"). Valor = x (3) Faixa ("A4"). Valor = x (4) Faixa (" A5 "). Valor = x (5) End Sub 

Agora execute este código para obter o resultado dos números de série. Obtemos o mesmo resultado do anterior.

Se você notar que não fornecemos o comprimento do array ao declarar a variável, em vez disso, atribuímos o último valor do array VBA usando a função VBA Redim. Redim contém o último valor do array a ser passado.

Exemplo # 3 - Criar uma função Inserir nomes de mês usando matriz

Vimos como trabalhar com arrays em VBA. Agora veremos como trabalhar com um array para criar funções VBA no Excel. A função nada mais é do que uma função definida pelo usuário no VBA. Além de usar funções integradas, o VBA do Excel nos permite criar nossas próprias funções também.

Código:

 Function List_Of_Months () List_Of_Months = Array ("Jan", "Fev", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Set", "Out", "Nov "," Dec ") Função Final 

O código abaixo irá criar uma função que pode inserir meses em nossa planilha excel.

Copie e cole o código abaixo no seu módulo.

Agora salve este código e feche o Editor do VBA. Depois de fechar o editor VBA, vá para a planilha e digite a fórmula que acabamos de criar e você deverá ver a fórmula chamada List_Of_Months em sua planilha.

Abra a fórmula e pressione Enter. Obteremos o nome do primeiro mês, ou seja, Jan

Se você inserir a fórmula mais uma vez, obteríamos janeiro, não o próximo mês de fevereiro. Portanto, primeiro selecione 12 colunas em uma linha.

Agora abra a fórmula na célula D1.

Como criamos a fórmula com a matriz, precisamos fechar as fórmulas apenas como fórmula de matriz. Portanto, segure Ctrl + Shift + Enter. Teríamos todos os nomes de 12 meses.

Coisas para lembrar

  • Existem mais dois tipos de array disponíveis, ou seja, array bidimensional e array multidimensional.
  • As matrizes começam em 0 e não em 1. Zero significa a primeira linha e a primeira coluna.
  • A matriz é um grande tópico que você precisa entender para avançar para o próximo nível.
  • A variável de matriz será aquela que contém muitos dados cada vez que avança para o próximo nível.
  • Redim é usado para armazenar o último comprimento da matriz no tipo de matriz dinâmica.