次のコードでは、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ではなくExcelでも問題なく動作します。 – Roumya
コードを正しく読んでいれば、最後に使用された行の列にある値を含む最初の行A.正しいですか?そして、あなたはそのポイントまでにいくつの偶数が出現するか、そしてどれくらいの数の奇数が出てくるのか試してみたいのですが、A列の最後の値の最初の出現を超えて何かを除外したいのですか?したがって、A1:A9のセルに1,2,2.7,3,4,5,1,2,3が含まれていれば、1偶数と3奇数を計算しようとしています(つまり、A4までのカウントのみ)。あれは正しいですか? – YowE3K