Necesito ser capaz de crear un newArray y asignarlo a another2darray (atsomeelement)Cómo asignar una dimensión de una matriz 2D a una nueva matriz 1d en VBA
Ejemplo
array1(0) = 1
array1(1) = 2
y ahora
array2(0) = array1
y por lo tanto
array2(0)(0) = 1
array2(0)(1) = 2
Ahora quiero tomar hacer una nueva matriz y asignarle 1d de la matriz2.
newarray = array2(0)
y por lo tanto
newarray(0) = 1
newarray(1) = 1
No puedo hacer esto en código VBA.
Fragmento de código a continuación, funciona si comenta la última sección donde intento y asigno array2(1)
a arraynew
.
Function test()
Dim array1(0 To 20) As String
Dim array2(0 To 5) As Variant
Dim count As Integer
For count = 0 To UBound(array1)
array1(count) = count
Next count
'now that array1 is filled i want to insert it into array2(1)
array2(1) = array1
' test
MsgBox (array2(1)(3))
'now i want to create a new string array and assign it to array2(1)
Dim arraynew(0 To 20) As String
arraynew = array2(1)
'this is what fails.
End Function
Ver http://stackoverflow.com/q/8482759/641067 – brettdj
Tenga en cuenta que, técnicamente, lo que tienes es * no * es una matriz 2D, pero una matriz de matrices. Eso es algo diferente. (También hay arreglos en 2D reales en VBA). – Heinzi