VBA代码比Excel的默认查找功能查找的值更少

时间:2016-10-31 07:38:06

标签: excel vba count

我有以下代码用于计算特定值的出现次数:

LastRow = Sheet10.Cells(Sheet10.Rows.Count, "A").End(xlUp).Row 

counter = 0
For i = 2 To LastRow
    If Sheet10.Range("G" & i).Value = Sheet1.Range("C4").Value Then
        counter = counter + 1
    End If
Next i

现在"计数器"的结果总是低于实际的匹配数。例如,当我使用Excel的默认查找功能" Ctrl + F"时,结果高于VBA代码计数。 (变量" LastRow"返回实际的行数。)

如何计算VBA中的所有事件?

1 个答案:

答案 0 :(得分:0)

我已设法通过以下代码弄清楚:

For i = 2 To LastRow
    Set findRange = Sheet10.Range("G" & i).Find(Sheet1.Range("C4"))
    If findRange Is Nothing Then
        'Do nothing
    Else
        counter = counter + 1
    End If
Next i

我需要使用.Find功能。现在它最终计算所有事件。它可能不是最好的解决方案,但它对我有用。