ID do artigo: 152288 - Última revisão: quarta-feira, 11 de outubro de 2006 - Revisão: 2.3

Determinar o número de dimensões em uma 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 | Recolher tudo

Sumário

Não há nenhuma função interna para retornar o número de dimensões em uma variável de matriz no Visual Basic for Applications. A maneira mais fácil para fazer isso é loop as dimensões e usando um manipulador de erro para retornar o número de dimensões.

Mais Informações

Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades. A maneira mais fácil de determinar o número de dimensões em um Visual Basic for Applications variável de matriz é obter a rotina para tentar uma tarefa com cada dimensão. Quando ele tenta fazer a tarefa a uma dimensão inexistente, será retornado um erro. Um identificador de erro pode ser usado para retornar a dimensão na qual a tarefa foi última bem-sucedida. Uma maneira para testar uma dimensão é por meio da função LBound. A função LBound leva dois argumentos, a variável de matriz e dimensão específica e retorna o limite inferior da dimensão. Usando essa função em uma dimensão não existente retornará um erro. Junto com um manipulador de erro, isso pode ser usado para determinar o número de dimensões.

Procedimento de exemplo do Visual Basic

Essa rotina testa a matriz chamada Xarray testando LBound de cada dimensão. Usando um loop for... Next, a rotina percorre o número de dimensões de matriz possível, até 60000, até que um erro é gerado. Em seguida, o manipulador de erro leva a etapa de contador que o loop falhou, subtrai um (porque anterior foi o último sem erro) e exibe o resultado em uma 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 para aplicativos, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
163435  (http://support.microsoft.com/kb/163435/EN-US/ ) VBA: Programação recursos para o 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 for 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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 ArticleAviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.