我有行1到10和列這些條目A到d:VBA級聯陣列比較 - 誤差1004上來
a 10 a 10
b 20 b 20
c 30 c 30
d 40 d 40
e 50 e 50
f 60 f 60
g 70
h 80
i 90
j 100
隨着VBA代碼(即我將在下面粘貼),我想,使用VBA數組,構建A和B以及C和D的連接「虛擬列」。然後,我想要創建一個第三個數組,該數組使用連接的數組給出每個數組元素的MATCH結果A和B相比C和D相同(有一點需要說明的是:這是我想稍後構建的更復雜的原型)。
它可以運行到第6天元素,但除此之外,它給了我1004錯誤(在監視窗口中Empty之後的元素值)。
任何人都可以給我一些指針爲什麼?
這裏是(可能不雅)VBA代碼:
Sub concatarray()
Dim count1 As Integer
Dim count2 As Integer
count1 = Application.CountA(Columns("A:A"))
count2 = Application.CountA(Columns("C:C"))
Dim Column1() As Variant
Dim Column2() As Variant
Dim virtColumn3() As Variant
Dim Column4() As Variant
Dim Column5() As Variant
Dim virtColumn6() As Variant
ReDim virtColumn3(1 To count1, 1 To 1)
ReDim virtColumn6(1 To count2, 1 To 1)
Column1 = Range("A1:A" & count1)
Column2 = Range("B1:B" & count1)
Column4 = Range("E1:E" & count2)
Column5 = Range("F1:F" & count2)
For i = 1 To count1
virtColumn3(i, 1) = Column1(i, 1) & Column2(i, 1)
Next i
For i = 1 To count2
virtColumn6(i, 1) = Column4(i, 1) & Column5(i, 1)
Next i
Dim virtColumn7() As Variant
ReDim virtColumn7(1 To count1, 1 To 1)
For i = 1 To count1
virtColumn7(i, 1) = WorksheetFunction.Match(virtColumn3(i, 1), virtColumn6, 0)
Next i
End Sub
這幾乎可以肯定這個片段中這是錯誤的:
For i = 1 To count1
virtColumn7(i, 1) = WorksheetFunction.Match(virtColumn3(i, 1), virtColumn6, 0)
Next i
在此先感謝。
謝謝蒂姆 - 我會在一段時間內嘗試一下並回報。我不知道WorksheetFunction之間有區別。和應用程序。 。 –
EndlessLoop
所有的好 - 謝謝你的答案。我將探討現在使用WorksheetFunction和Application之間的區別。 – EndlessLoop