¿Excel vba tiene lista de matrices o vector?
Copiar y pegar. . .
Matriz dinámica: matriz de tamaño variable
Método de declaración de matriz dinámica: a diferencia de la matriz estática, la matriz dinámica debe declararse primero con Dim y el tamaño de la matriz se devolverá después Se obtiene el resultado. Debe utilizar Redim para una declaración secundaria.
Dim array name ()
Redim array name (superíndice de matriz de primera dimensión a subíndice de matriz de primera dimensión, superíndice de segunda dimensión a subíndice de segunda dimensión...) p>
Ejemplo:
Sub darr()
Dim arr() 'Declara una matriz dinámica (no sé cuántos datos puede contener) / p>
Dim k
k = Application.WorksheetFunction.CountIf(Range("a2:a60"), "gt; 10") 'Calcular el número mayor que 10
ReDim arr(1 To k) 'Declara el tamaño de arr nuevamente, lo suficiente para contener k número de valores
For x = 2 To 6
If Cells(x, 1 ) gt; 10 Entonces
m = m 1
arr(m) = Cells(x, 1) 'Carga números mayores que 10 en la matriz a través del bucle
End If
Next x
MsgBox arr(2)
End Sub
Si la matriz necesita expandirse continuamente con una variable, la matriz debe declararse varias veces, una para cada expansión:
Redim Preserve (1 to k)
Si la matriz es multidimensional, solo la última dimensión Se puede declarar dinámicamente. Si necesita expandir continuamente la primera dimensión, primero debe transponerla, lo cual es un poco problemático. En este caso, podemos declarar una matriz estática lo suficientemente grande como para reemplazar la matriz dinámica, que se ejecutará más rápido. que el primero.