Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Resumo

Este artigo contém procedimentos de exemplo do Microsoft Visual Basic for Applications 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 a, as garantias implícitas de comercialização ou adequação para um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação que está a ser demonstrada e com as ferramentas que são utilizadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para fornecer funcionalidades adicionais ou criar procedimentos para satisfazer os seus requisitos específicos. NOTA: em 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 Folha de Cálculo

  1. Abra um novo livro e insira uma folha de módulos do Visual Basic.

  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 Macro, clique em Sheet_Fill_Array e, em seguida, clique em Executar.

Para Tirar Valores de uma Folha de Cálculo e Preencher a Matriz

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

  2. Numa folha de módulos do Visual Basic, 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 Macro, 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 Macro, clique em pass_array e, em seguida, clique em Executar.

Para Comparar Duas Matrizes

  1. Crie dois intervalos com nome na Folha1. Atribua um nome a um intervalo1 e ao outro intervalo2.

    Por exemplo, realce o intervalo de células A1:A10 e dê-lhe o nome intervalo1; realce o intervalo de células B1:B10 e dê-lhe o nome 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 Macro, 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 Macro, clique em fill_array e, em seguida, clique em Executar.

NOTA: a alteração da variável "number_of_elements" determinará o tamanho da matriz.
 

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×