Arrays VBA no Excel - Como trabalhar com a função Arrays no VBA?

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 um array 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

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 Integer 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. É 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, um 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 meses usando matriz

Vimos como trabalhar com arrays em VBA. Agora veremos como trabalhar com um array para criar uma função 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 Excel VBA nos permite criar nossas próprias funções também.

Código:

Função 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. Após fechar o editor do 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, janeiro

Se você inserir a fórmula mais uma vez, ainda teremos apenas janeiro, não o próximo mês, 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 uma 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, não em 1. Zero significa a primeira linha e a primeira coluna.
  • A matriz é um grande tópico. Você precisa entendê-lo 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 em um tipo de matriz dinâmica.

Artigos interessantes...