Como Utilizar Matriz No Vba
.
Codigo Matriz No Vba
Sub Macro1() Dim vetor(5) As String 'declaração de matriz com 6 valores Sheets("Plan1").Select Cells(2, 1).Select linha = 2 conteudo = "vazio" Do While conteudo <> "" ' verifica enquanto linha for diferente de vazia vetor(linha – 2) = Cells(linha, 1).Value 'vetor inicia-se com referencia zero linha = linha + 1 'contador de linha conteudo = Cells(linha, 1).Value 'grava o valor da linha atual Loop 'apos gravar os valores na matriz, vamos em outro sheet despejar tudo 'ou seja, melhor q ficar gravando varias variaveis 'ou ficar utilizando a mesma variavel trocando de sheets 'agora vamos despejar os conteudos sem o while Sheets("Plan2").Select 'na guia 2 Cells(2, 1).Value = vetor(0) Cells(3, 1).Value = vetor(1) Cells(4, 1).Value = vetor(2) Cells(5, 1).Value = vetor(3) Cells(6, 1).Value = vetor(4) Cells(7, 1).Value = vetor(5) 'texto abaixo apenas para demonstrar as alterações Cells(2, 4).Value = "VOCE ESTÁ NO PLAN2 COM OS VALORES COPIADOS" ActiveWorkbook.Sheets("Plan1").Tab.ColorIndex = 3 'muda a cor do sheet1 (guia ou plan1) ActiveWorkbook.Sheets("Plan2").Tab.ColorIndex = 25 'muda a cor do sheet2 (guia ou plan2) End Sub
Declaração de matriz
MATRIZES
Um array (matriz) é uma lista de valores, onde cada valor do array é chamado elemento. Os arrays são criados na memória do computador e por isto possui um bom desempenho. (Não é necessário ficar copiando , trocando de tela e colando informações.) ou seja deixa a macro mais ágil.
Todos os arrays são indexados a partir de zero.
Exemplo:
Vetor(1) – refere-se a um elemento que está alocado (gravado) como número 1.
Exemplo(0) – refere-se ao primeiro elemento
ExVetor(3) – refere-se ao quarto elemento
MANEIRAS DE DECLARAR UM VETOR
Dim Vetor(4) As Integer –> Define um array com 5 elementos iniciados com zero
Dim Vetor() As Integer = {1, 2, 3, 4, 5} Define um array com 5 elementos e atribui valores a cada elemento
Redim Vetor(10) –> Redimensiona o array Vetor para 11 elementos
Exemplo de como funciona na pratica:
Vetor(elemento) -> Valor gravado
0 -> São Paulo
1 -> Rio de Janeiro
2 -> Belo Horizonte
3 -> Brasília
4 -> Porto Alegre
A declaração ficaria: Dim Vetor(5) as String
ARRAYS MULTIDIMENSIONAIS
100 | 200 | 300
250 | 180 | 140
160 | 80 | 135
Dim Vetor(2,2) para atribuir os valores para o array podemos fazer:
Dim values(,) As Integer = { {100, 200, 300}, {250, 180, 140} , {160, 80, 135}}
_______________________________________________________________
OBSERVAÇÕES:
Dim values1(9, 9) As Integer = Declara um array com 100 elementos
Dim values2(,) As Integer = Declara um array sem limites
ReDim values2(9, 9) = Define o tamanho do array