Uso de matrices

Puede declarar una matriz para que funcione con un conjunto de valores del mismo tipo de datos. Una matriz es una variable sencilla con muchos compartimentos para almacenar valores, mientras que una variable típica solo tiene un compartimento de almacenamiento en que se puede almacenar solamente un valor. Se hace referencia a la matriz en conjunto cuando quiere referirse a todos los valores que contiene, o se puede hacer referencia a sus valores individuales.

Por ejemplo, para almacenar gastos diarios para cada día del año, puede declarar una variable de matriz con 365 elementos en lugar de declarar 365 variables. Cada elemento de la matriz contiene un valor. La siguiente instrucción declara la variable de la matriz con 365 elementos. De manera predeterminada, una matriz se indiza comenzando por cero, de modo que el límite superior de la matriz es 364 en lugar de 365.

Dim curExpense(364) As Currency 

Para establecer el valor de un elemento individual, debe especificar el índice del elemento. El siguiente ejemplo asigna un valor inicial de 20 a cada elemento de la matriz.

Sub FillArray() 
 Dim curExpense(364) As Currency 
 Dim intI As Integer 
 For intI = 0 to 364 
 curExpense(intI) = 20 
 Next 
End Sub

Cambio del límite inferior

Use la instrucción Option Base en la parte superior de un módulo para cambiar el índice predeterminado del primer elemento de 0 a 1. En el ejemplo siguiente, la instrucción Option Base cambia el índice del primer elemento y la instrucción Dim declara la variable de matriz con 365 elementos.

Option Base 1 
Dim curExpense(365) As Currency 

También puede establecer explícitamente el límite inferior de una matriz usando la cláusula To, como se muestra en el siguiente ejemplo.

Dim curExpense(1 To 365) As Currency 
Dim strWeekday(7 To 13) As String 

Almacenamiento de valores variant en matrices

Hay dos maneras de crear matrices de valores Variant . Una manera es declarar una matriz de tipo de datos Variant, como se muestra en el siguiente ejemplo:

Dim varData(3) As Variant 
varData(0) = "Claudia Bendel" 
varData(1) = "4242 Maple Blvd" 
varData(2) = 38 
varData(3) = Format("06-09-1952", "General Date") 

La otra manera es asignar la matriz devuelta por la función Array a la variable de Variant, como se muestra en el siguiente ejemplo.

Dim varData As Variant 
varData = Array("Ron Bendel", "4242 Maple Blvd", 38, _ 
Format("06-09-1952", "General Date")) 

Los elementos de una matriz de valores de Variant se identifican por índice, independientemente de la técnica que se usa para crear la matriz. Por ejemplo, la siguiente instrucción se puede agregar a cualquiera de los ejemplos anteriores.

MsgBox "Data for " & varData(0) & " has been recorded." 

Uso de matrices multidimensionales

En Visual Basic, puede declarar matrices con hasta 60 dimensiones. Por ejemplo, la siguiente instrucción declara una matriz 5 por 10 de 2 dimensiones.

Dim sngMulti(1 To 5, 1 To 10) As Single 

Si piensa en la matriz como una matriz, el primer argumento representa las filas y el segundo argumento representa las columnas.

Usar anidado para... Instrucciones siguientes para procesar matrices multidimensionales. El siguiente procedimiento rellena una matriz de dos dimensiones con valores de Single.

Sub FillArrayMulti() 
 Dim intI As Integer, intJ As Integer 
 Dim sngMulti(1 To 5, 1 To 10) As Single 
 
 ' Fill array with values. 
 For intI = 1 To 5 
 For intJ = 1 To 10 
 sngMulti(intI, intJ) = intI * intJ 
 Debug.Print sngMulti(intI, intJ) 
 Next intJ 
 Next intI 
End Sub

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.