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.