Determinar el número de dimensiones de una variable de matriz

Seleccione idioma Seleccione idioma
Id. de artículo: 152288 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

No hay ninguna función integrada para devolver el número de dimensiones en una variable de matriz en Visual Basic para aplicaciones. La forma más sencilla de hacerlo es recorrer las dimensiones y utilizar un controlador de errores para devolver el número de dimensiones.

Más información

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos. La forma más sencilla para determinar el número de dimensiones de un variable de matriz de aplicaciones de Visual Basic es obtener la rutina para intentar una tarea con cada dimensión. Cuando intenta realizar la tarea a una dimensión inexistente, se devolverá un error. Un controlador de errores puede utilizarse para devolver la dimensión en el que la tarea por última vez correcta. Una forma de probar una dimensión es mediante la función LBound. La función LBound toma dos argumentos, la variable de matriz y la dimensión específica y devuelve los límites inferiores de esa dimensión. Utilizando esta función en una dimensión que no existe devuelve un error. Junto con un controlador de errores, esto puede utilizarse para determinar el número de dimensiones.

Procedimiento de ejemplo de Visual Basic

Esta rutina comprueba la matriz denominada Xarray comprobando LBound de cada dimensión. Utiliza un bucle for... Next, la rutina recorre el número de dimensiones de matriz posible, hasta 60000, hasta que se genera un error. A continuación el controlador de errores toma el paso de contador que el bucle no se pudieron, resta uno (porque anterior era el último sin error) y muestra el resultado en un cuadro de mensaje.
   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
				

Referencias

Para obtener más información acerca de Visual Basic para Aplicaciones, consulte el siguiente artículo en Microsoft Knowledge Base:
163435VBA: Recursos de programación para Visual Basic para aplicaciones

Propiedades

Id. de artículo: 152288 - Última revisión: miércoles, 11 de octubre de 2006 - Versión: 2.3
La información de este artículo se refiere a:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 95 Standard Edition
  • Microsoft Excel 5.0 Standard Edition
  • Microsoft Excel 98 para Macintosh
Palabras clave: 
kbmt kbdtacode kbhowto kbprogramming KB152288 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 152288
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com