我一直在犯同樣的錯誤,我不知道它是什麼。每次我使用For-Loop處理數組(通常嘗試讀取一個數組並在第二個數組中寫入值)時,它只取第一個數組的最後一個值,並將其寫入第二個數組的每個單個時隙陣列。For-Next Loop和Arrays - VBA
下面是我正在處理的最簡單/最短的一個副本。它應該讀取A1:A10中的值並將它們寫入B1:K1。
Sub Problem1()
Dim a(1 To 10) As Single
Dim b(1, 10) As Single
Dim i As Integer
For i = 1 To 10
a(i) = Range("A" + CStr(i)).Value
Next i
For i = 1 To 10
b(1, i) = a(i)
Next i
Range("B1:K1") = b(1, 10)
End Sub
您可以消除'j',只是使用'I + 1'。另外,請注意你在這裏聲明'i'是一個'Variant'。看看這個[Chip Pearson page](http://www.cpearson.com/excel/DeclaringVariables.aspx)並向下滾動到「注意用一個聲明聲明的變量」。 –