我目前正在學習VBA,並試圖理解For Each ... Next語句的語法。如果語法是:Excel VBA - 如何使用For Each ...下一條語句
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
什麼樣的變量可以用於「元素」和「組」,您是否定義它們?我問,因爲我發現的大多數例子都沒有定義「元素」。假設我有一列填滿了「a」,「b」,「c」,「d」和「N/A」,我想確定每個列出現的次數。
到目前爲止,我有以下幾點:
Sub Count()
Dim lastRow, aCount, bCount, cCount, dCount, NACount As Long
lastRow = Range("A" & Rows.Count).End(xlUp).Row
aCount = 0
bCount = 0
cCount = 0
dCount = 0
NACount = 0
For Each MyCell In Range("A1:A" & lastRow)
If MyCell.Value = "a" Then
aCount = aCount + 1
ElseIf MyCell.Value = "b" Then
bCount = bCount + 1
ElseIf MyCell.Value = "c" Then
cCount = cCount + 1
ElseIf MyCell.Value = "d" Then
dCount = dCount + 1
ElseIf MyCell.Value = "b" Then
bCount = bCount + 1
Else
NACount = NACount + 1
End If
Next
End Sub
這給「類型不匹配」的錯誤爲If MyCell.Value = "a" Then
,雖然我已經知道我必須使用錯誤的組或陣列。
對於這樣一個初學者問題的任何幫助非常感謝。
你確定錯誤不是「變量未定義?」 (假設你在代碼模塊的頂部使用'Option Explicit',你應該*)你確實需要聲明循環變量(在你的情況下爲'MyCell') –
如果'MyCell'包含代碼會引起不匹配錯誤值。 –
你有沒有試過F1的幫助?因爲它在那裏說什麼* element *和* group *可以。 –