我是VBA新手,在下面的代碼中出現類型不匹配錯誤。類型不匹配錯誤
我得到整數j
的錯誤。我已將其更改爲所有其他數據類型,但仍相同。
Private Sub CommandButton3_Click()
Dim rng1 As Range, rng2 As Range, i As Integer, j As Integer, k As Integer
Set rng1 = Range("A:A")
Set rng2 = Range("B:B")
j = Application.WorksheetFunction.Lookup(2, 1/(rng1 <> ""), rng1)
k = Application.WorksheetFunction.Match(j, rng1, 0)
i = 0
For i = i + 1 To k
If Cells(i, 1) Mod 2 = 0 Then
Cells(i, 2) = "Even"
Else: Cells(i, 2) = "Odd"
End If
Next i
MsgBox "There are " & Application.WorksheetFunction.CountIf(rng2, "Even") _
& " Even and " & Application.WorksheetFunction.CountIf(rng2, "Odd") & " Odd numbers"
End Sub
不能陣列比較字符串(即'rng1 <>「」'無效並且會導致類型不匹配)。 – YowE3K
謝謝。這意味着我只能使用最後一行功能。請說明如何在VBA中使用此公式,因爲在Excel中可以正常工作,但在VBA中不能正常工作 – Roumya
如果我正確讀取代碼,則試圖找到包含最後一列佔用的列上的值的第一行A.這是正確的嗎?然後,您正在設法計算出至此爲止出現了多少個偶數以及多少個奇數 - 但是您希望從列中排除最後一個值的第一次出現以外的任何內容。是否正確?因此,如果單元格A1:A9包含「1,2,2.7,3,4,5,1,2,3」,則您試圖計算1個偶數和3個奇數(即僅計數到A4的計數)。那是對的嗎? – YowE3K