Para ver Microsoft Excel 2000 deste artigo, consulte o 213798.

Para versões Microsoft Excel 98 e anteriores Excel versão anterior deste artigo, consulte o 149689.

Resumo

Este artigo contém exemplos Visual Basic for Applications procedimentos que pode utilizar para trabalhar com vários tipos de matrizes.

Mais Informações

A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isto inclui, mas não se limita, às garantias implícitas de comerciante ou adequação a um fim específico. Este artigo assume que está familiarizado com a linguagem de programação que está a ser demonstrada e com as ferramentas utilizadas 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 irão modificar estes exemplos de forma a fornecer funcionalidades ou procedimentos de construção adicionados para satisfazer os seus requisitos específicos. NOTA: nos Visual Basic for Applications procedimentos, as palavras após o apóstrofo (') são comentários.

Para Preencher uma Matriz e, em seguida, Copiá-la para uma Livro

  1. Abra um novo livro e insira uma folha Visual Basic módulo.

  2. Escreva o seguinte código na folha do módulo.

    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
  3. Selecione Folha1.

  4. No menu Ferramentas, aponte para Macro e, em seguida, clique em Macros.

  5. Na caixa de diálogo Macros, clique em Sheet_Fill_Array, em seguida, clique em Executar.

Para Tirar Valores de uma Única Conta e Preencher a Matriz

  1. Escreva os valores na Folha1 nas células A1:A10.

  2. Numa folha Visual Basic módulo, escreva 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
  3. Selecione Folha1.

  4. No menu Ferramentas, aponte para Macro e, em seguida, clique em Macros.

  5. Na caixa de diálogo Macros, clique em From_sheet_make_array e, em seguida, clique em Executar.

Para Passar e Receber uma Matriz

  1. Numa folha de módulo, escreva 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
  2. Selecione Folha1 e realce o intervalo A1:A10.

  3. No menu Ferramentas, aponte para Macro e, em seguida, clique em Macros.

  4. Na caixa de diálogo Macros, clique em Pass_array, em seguida, clique em Executar.

Para Comparar Duas Matrizes

  1. Crie dois intervalos com nome na Folha1. Nomear um intervalo1 e o outro intervalo2.

    Por exemplo, realce o intervalo de células A1:A10 e nomee-o intervalo1; realce o intervalo de células B1:B10 e nomee-o intervalo2.

  2. Escreva o seguinte código na folha do módulo.

    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
  3. Selecione Folha2.

  4. No menu Ferramentas, aponte para Macro e, em seguida, clique em Macro.

  5. Na caixa de diálogo Macros, clique em Compare_two_array e, em seguida, clique em Executar.

    Verá uma caixa de mensagem para cada comparação.

Para Preencher uma Matriz Dinâmica

  1. Numa folha de módulo, escreva 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
  2. No menu Ferramentas, aponte para Macro e, em seguida, clique em Macros.

  3. Na caixa de diálogo Macros, clique em Fill_array, em seguida, clique em Executar.

NOTA: alterar a variável "number_of_elements" irá determinar o tamanho da matriz.

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?

Obrigado pelo seu feedback!

×