My current code looks like this:
Dim Array1(1 To 2, 1 To 2) As Variant
Dim Array2(1 To 2, 1 To 2) As Variant
Array1(1, 1) = "A"
Array1(1, 2) = "B"
Array1(2, 1) = 1
Array1(2, 2) = "C"
Array2 = Array1
This however returns a "Compile Error: Can't assign to array"
Any suggestions on how to fix this would be greatly appreciated
A double loop:
Sub qwerty()
Dim Array1(1 To 2, 1 To 2) As Variant
Dim Array2(1 To 2, 1 To 2) As Variant
Array1(1, 1) = "A"
Array1(1, 2) = "B"
Array1(2, 1) = 1
Array1(2, 2) = "C"
For i = 1 To 2
For j = 1 To 2
Array2(i, j) = Array1(i, j)
Next j
Next i
End Sub
Or you can cheat:
Sub qwerty2()
Dim Array1(1 To 2, 1 To 2) As Variant
Dim Array2
Dim r As Range
Set r = Range("A1:B2")
Array1(1, 1) = "A"
Array1(1, 2) = "B"
Array1(2, 1) = 1
Array1(2, 2) = "C"
r = Array1
Array2 = r
End Sub
EDIT#1:
BigBen's proposed solution works and it probably the best approach.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments