tôi cần để có thể tạo ra một newarray và gán nó vào another2darray (atsomeelement)Làm thế nào để gán một chiều của một mảng 2ngày để một mảng 1d mới trong VBA
Ví dụ
array1(0) = 1
array1(1) = 2
và bây giờ
array2(0) = array1
và do đó
array2(0)(0) = 1
array2(0)(1) = 2
Bây giờ tôi muốn tạo một mảng mới và gán 1d của mảng2 cho nó.
newarray = array2(0)
và do đó
newarray(0) = 1
newarray(1) = 1
tôi không thể làm điều này trong mã VBA.
Đoạn mã bên dưới, hoạt động nếu bạn nhận xét phần cuối cùng nơi tôi thử và chỉ định array2(1)
đến 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
Xem http://stackoverflow.com/q/8482759/641067 – brettdj
Lưu ý rằng, về mặt kỹ thuật, bạn có * không * mảng 2d mà là mảng mảng. Đó là một cái gì đó khác nhau. (Cũng có các mảng 2d thực trong VBA.) – Heinzi