Trabalhando com matrizes para programação VBA no Excel 2016

A maioria das linguagens de programação oferece suporte a matrizes, incluindo VBA. Uma matriz é um grupo de variáveis ​​que compartilham um nome. Você se refere a uma variável específica na matriz usando o nome da matriz e um número de índice entre parênteses. Por exemplo, você pode definir uma matriz de 12 variáveis ​​de string para conter os nomes dos meses do ano. Se você nomear a matriz MonthNames , poderá se referir ao primeiro elemento da matriz como MonthNames (1), o segundo elemento como MonthNames (2) e assim por diante.

Declaração de matrizes

Antes de usar um array, você deve declará-lo. Sem exceções. Ao contrário das variáveis ​​normais, o VBA é muito rígido em relação a essa regra. Você declara uma matriz com uma instrução Dim ou Public, da mesma forma que declara uma variável regular. No entanto, você também precisa especificar o número de elementos na matriz. Você faz isso especificando o primeiro número do índice, a palavra-chave To e o último número do índice - tudo entre parênteses. O exemplo a seguir mostra como declarar uma matriz de 100 inteiros:

Dim MyArray (1 a 100) como inteiro

Ao declarar uma matriz, você pode optar por especificar apenas o índice superior. Se você omitir o índice inferior, o VBA assumirá que é 0. Portanto, ambas as instruções a seguir declaram a mesma matriz de 101 elementos:

Dim MyArray (0 a 100) como inteiro
Dim MyArray (100) As Integer

Se você quiser que o VBA presuma que 1 (em vez de 0) é o índice inferior para seus arrays, inclua a seguinte instrução na seção Declarações na parte superior do seu módulo:

Opção Base 1

Essa instrução força o VBA a usar 1 como o primeiro número de índice para matrizes que declaram apenas o índice superior. Se esta declaração estiver presente, as seguintes declarações são idênticas, ambas declarando uma matriz de 100 elementos:

Dim MyArray (1 a 100) como inteiro
Dim MyArray (100) As Integer

Matrizes multidimensionais

Os arrays criados nos exemplos anteriores são todos arrays unidimensionais. Pense em matrizes unidimensionais como uma única linha de valores. Os arrays que você cria no VBA podem ter até 60 dimensões - embora você raramente precise de mais de duas ou três dimensões em um array. O exemplo a seguir declara uma matriz de 81 inteiros com duas dimensões:

Dim MyArray (1 a 9, 1 a 9) como inteiro

Você pode pensar nesta matriz como ocupando uma matriz 9 x 9 - perfeita para armazenar todos os números em um quebra-cabeça Sudoku.

Para se referir a um elemento específico neste array, você precisa especificar dois números de índice (semelhantes à sua “linha” e sua “coluna” na matriz). O exemplo a seguir mostra como você pode atribuir um valor a um elemento nesta matriz:

MyArray (3, 4) = 125

Esta instrução atribui um valor a um único elemento na matriz. Se você está pensando na matriz em termos de uma matriz 9 x 9, isso atribui 125 ao elemento localizado na terceira linha e na quarta coluna da matriz.

Veja como declarar uma matriz tridimensional, com 1.000 elementos:

Dim My3DArray (1 a 10, 1 a 10, 1 a 10) como inteiro

Você pode pensar em uma matriz tridimensional como um cubo. Visualizar um array de mais de três dimensões é mais difícil.

Matrizes dinâmicas

Você também pode criar matrizes dinâmicas . Uma matriz dinâmica não possui um número predefinido de elementos. Declare uma matriz dinâmica com um conjunto vazio de parênteses:

Dim MyArray () As Integer

Antes de usar essa matriz, você deve usar a instrução ReDim para informar ao VBA quantos elementos a matriz possui. Normalmente, o número de elementos na matriz é determinado durante a execução do código. Você pode usar a instrução ReDim quantas vezes quiser, alterando o tamanho do array sempre que necessário. O exemplo a seguir demonstra como alterar o número de elementos em uma matriz dinâmica. Ele assume que a variável NumElements contém um valor, que seu código calculou.

ReDim MyArray (1 para NumElements)

Ao redimensionar uma matriz usando ReDim, você elimina todos os valores atualmente armazenados nos elementos da matriz. Você pode evitar destruir os valores antigos usando a palavra-chave Preserve. O exemplo a seguir mostra como você pode preservar os valores de uma matriz ao redimensionar a matriz:

ReDim Preserve MyArray (1 para NumElements)

Se MyArray tiver atualmente dez elementos e você executar a instrução anterior com NumElements igual a 12, os primeiros dez elementos permanecerão intactos e a matriz terá espaço para dois elementos adicionais (até o número contido na variável NumElements). Se NumElements for igual a 7, no entanto, os primeiros sete elementos são retidos, mas os três elementos restantes encontram seu fim.


Smartsheet 9.1.1

Smartsheet 9.1.1

Smartsheet é uma plataforma de trabalho dinâmica que permite gerenciar projetos, criar fluxos de trabalho e colaborar com sua equipe.

SharePoint

SharePoint

SharePoint é um sistema de colaboração baseado na web que usa uma variedade de aplicativos de fluxo de trabalho, bancos de dados de “lista” e outros componentes da web, bem como recursos de segurança para dar controle ao trabalho conjunto de grupos empresariais.

Calendário Perpétuo 1.0.38/1.0.36

Calendário Perpétuo 1.0.38/1.0.36

Van Nien Calendar é um aplicativo de visualização de calendário em seu telefone, ajudando você a ver rapidamente a data lunisolar em seu telefone, organizando assim seu trabalho importante.

Microsoft Outlook 2021

Microsoft Outlook 2021

O Microsoft Outlook é um aplicativo comercial e de produtividade desenvolvido pela Microsoft Corporation.

Clique para cima

Clique para cima

ClickUp é uma das plataformas de produtividade mais bem avaliadas para qualquer empresa. Grandes empresas como Google, Booking.com, San Diego Padres e Uber usam ClickUp para aumentar a produtividade no local de trabalho.

Visualizador PDF-XChange 2.5.322.10

Visualizador PDF-XChange 2.5.322.10

PDF se tornou um formato comumente usado para leitura, criação e envio de documentos de texto. Por sua vez, tem havido um aumento no número de programas utilizados para este tipo de documentação. PDF-XChange Viewer está entre um número crescente de visualizadores de PDF.

Apache Open Office

Apache Open Office

Apache OpenOffice oferece um conjunto completo de aplicativos Office que rivalizam com o Microsoft 365, especialmente em Excel, PowerPoint e Word. Ele permite que você gerencie seus projetos de forma mais eficaz e suporta diversos formatos de arquivo.

Baixar iTaxviewer 1.8.7

Baixar iTaxviewer 1.8.7

O software iTaxViewer é o software de leitura de arquivos XML mais popular atualmente. Este software é uma aplicação para leitura de declarações fiscais eletrónicas em formato XML da Direção Geral de Impostos.

Leitor de PDF Nitro

Leitor de PDF Nitro

Nitro PDF Reader é um prático editor de PDF que cobre todas as tarefas básicas que a maioria das pessoas realiza todos os dias com documentos PDF.

Leitor Foxit 12

Leitor Foxit 12

Foxit Reader é principalmente um leitor de PDF e também permite criar arquivos PDF, assiná-los, editá-los e adicionar anotações. Funciona em sistemas operacionais, existem plugins para diversos programas do pacote Microsoft Office.