Resumo
Este artigo contém procedimentos de exemplo do Microsoft Visual Basic for Applications que você pode usar para trabalhar com vários tipos de matrizes.
Informações adicionais
A Microsoft fornece exemplos de programação somente para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não se limita a, as garantias implícitas de comercialização ou aptidão para uma finalidade específica. Este artigo pressupõe que você esteja familiarizado com a linguagem de programação que está sendo demonstrada e com as ferramentas usadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um procedimento específico, mas não modificarão esses exemplos para fornecer funcionalidade ou procedimentos de construção adicionais para atender aos seus requisitos específicos. OBSERVAÇÃO: Em Visual Basic for Applications procedimentos, as palavras após o após o apóstrofo (') são comentários.
Para preencher uma matriz e, em seguida, copiá-la para uma planilha
-
Abra uma pasta de trabalho e insira uma folha de módulos do Visual Basic.
-
Digite o código a seguir na folha de módulos.
Sub Sheet_Fill_Array() Dim myarray As Variant myarray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) Range("a1:a10").Value = Application.Transpose(myarray) End Sub
-
Selecione Planilha1.
-
No menu Ferramentas, aponte para Macro e clique em Macros.
-
Na caixa de diálogo Macro, clique em Sheet_Fill_Array e clique em Executar.
Para tirar valores de uma planilha e preencher a matriz
-
Digite valores na Planilha1 nas células A1:A10.
-
Em uma folha de módulos do Visual Basic, digite o seguinte código:
Sub from_sheet_make_array() Dim thisarray As Variant thisarray = Range("a1:a10").Value counter = 1 'looping structure to look at array While counter <= UBound(thisarray) MsgBox thisarray(counter, 1) counter = counter + 1 Wend End Sub
-
Selecione Planilha1.
-
No menu Ferramentas, aponte para Macro e clique em Macros.
-
Na caixa de diálogo Macro, clique em from_sheet_make_array e clique em Executar.
Para passar e receber uma matriz
-
Em uma planilha de módulos, digite o seguinte código:
Sub pass_array() Dim thisarray As Variant thisarray = Selection.Value receive_array (thisarray) End Sub Sub receive_array(thisarray) counter = 1 While counter <= UBound(thisarray) MsgBox thisarray(counter, 1) counter = counter + 1 Wend End Sub
-
Selecione Planilha1 e realce o intervalo A1:A10.
-
No menu Ferramentas, aponte para Macro e clique em Macros.
-
Na caixa de diálogo Macro, clique em pass_array e clique em Executar.
Para comparar duas matrizes
-
Crie dois intervalos nomeados na Planilha1. Nomeie um intervalo1 e o outro intervalo2.
Por exemplo, realce o intervalo de células A1:A10 e nomeie-o como range1; realçar o intervalo de células B1:B10 e nomeá-lo range2. -
Digite o código a seguir na folha de módulos.
Sub compare_two_array() Dim thisarray As Variant Dim thatarray As Variant thisarray = Range("range1").Value thatarray = Range("range2").Value counter = 1 While counter <= UBound(thisarray) x = thisarray(counter, 1) y = thatarray(counter, 1) If x = y Then MsgBox "yes" Else MsgBox "no" End If counter = counter + 1 Wend End Sub
-
Selecione Planilha2.
-
No menu Ferramentas, aponte para Macro e clique em Macro.
-
Na caixa de diálogo Macro, clique em compare_two_array e clique em Executar.
Você verá uma caixa de mensagens para cada comparação.
Para preencher uma matriz dinâmica
-
Em uma planilha de módulos, digite o seguinte código:
Sub fill_array() Dim thisarray As Variant number_of_elements = 3 'number of elements in the array 'must redim below to set size ReDim thisarray(1 To number_of_elements) As Integer 'resizes this size of the array counter = 1 fillmeup = 7 For counter = 1 To number_of_elements thisarray(counter) = fillmeup Next counter counter = 1 'this loop shows what was filled in While counter <= UBound(thisarray) MsgBox thisarray(counter) counter = counter + 1 Wend End Sub
-
No menu Ferramentas, aponte para Macro e clique em Macros.
-
Na caixa de diálogo Macro, clique em fill_array e clique em Executar.
OBSERVAÇÃO: a alteração da variável "number_of_elements" determinará o tamanho da matriz.