Artigo: 152288 - Última revisão: quarta-feira, 11 de Outubro de 2006 - Revisão: 2.3

Determinar o número de dimensões numa variável de matriz

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Não existe nenhuma função incorporada para devolver o número de dimensões numa variável de matriz no Visual Basic for Applications. A forma mais fácil para o fazer é ciclo através de dimensões e utilizando um processador de erros para devolver o número de dimensões.

Mais Informação

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador. A forma mais fácil para determinar o número de dimensões no Visual Basic for Applications variável de matriz é obter a rotina de tentar uma tarefa com cada dimensão. Quando tenta efectuar a tarefa para uma dimensão não existente, será devolvido um erro. Um processador de erros pode ser utilizado para devolver a dimensão na qual última tarefa com êxito. Uma forma para testar uma dimensão é utilizando a função ' LimiteInf. A função LimiteInf tem dois argumentos, a variável de matriz e a dimensão específica e devolve os limites inferiores dessa dimensão. Utilizar esta função numa dimensão inexistente devolve um erro. Acopladas com um processador de erros, pode ser utilizado para determinar o número de dimensões.

Procedimento do Visual Basic de exemplo

Esta rotina testa a matriz chamada Xarray pela testar LimiteInf de cada dimensão. Utilizar um ciclo for... Next, a rotina refaz o número de dimensões de matriz possíveis, até à 60000, até que é gerado um erro. Em seguida, o processador de erros é o passo de contador que o ciclo falhou, subtrai um (porque anterior era a uma última sem erro) e apresenta o resultado numa caixa de mensagem.
   Sub NumberOfDimensions()

      'Dimensions Xarray as an array.
      Dim Xarray(1 to 10, 5 to 20, 256 to 300, 8, -5 to 0)

      'Sets up the error handler.
      On Error GoTo FinalDimension

      'Visual Basic for Applications arrays can have up to 60000
      'dimensions; this allows for that.
      For DimNum = 1 to 60000

         'It is necessary to do something with the LBound to force it
         'to generate an error.
         ErrorCheck = LBound(Xarray, DimNum)

      Next DimNum

      Exit Sub

      ' The error routine.
   FinalDimension:

      MsgBox "The array has " & DimNum - 1 & " dimensions"

   End Sub
				

Referências

Para obter informações adicionais sobre como obter ajuda com o Visual Basic for Applications, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
163435  (http://support.microsoft.com/kb/163435/EN-US/ ) VBA: Recursos de programação do Visual Basic for Applications

A informação contida neste artigo aplica-se a:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 95 Standard Edition
  • Microsoft Excel 5.0 Standard Edition
  • Microsoft Excel 98 para Macintosh
Palavras-chave: 
kbmt kbdtacode kbhowto kbprogramming KB152288 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 152288  (http://support.microsoft.com/kb/152288/en-us/ )
Retired KB ArticleExclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.