2016-02-05 70 views
-1

我的问题可能有点令人困惑。Excel Vba: - 如果连续发现匹配,则显示单元值

我正在尝试查找在表格中匹配的次数的次数,但是如果一个数字在单个行中出现多次,它就不应该算在内。它仅为每一行计数1。

ABCD状态 1个ID1 DAY1 VAL1解决 2 ID2 ID1 ID1不解析 3 ID3 DAY1 VAL3不解析 4 ID1 DAY2 ID1解决 5 ID2 DAY2 val2的不解析 6 ID3 DAY2 VAL3不解析

因此,如果我搜索id1,它必须提供一个3而不是5的计数,因为它在第2行的&中重复。 而且它也应该显示其状态,如2已解决1未解决,因为1 &已解决,因此计数为2已解决且第二行未解析。

任何帮助是极大的赞赏。并且请提供VBA代码的建议..

+0

欢迎来到SO。请分享迄今为止开发的代码。如果没有开始。请使用代码和您面临的问题开始并更新您的问题。这里是我的指针。 – Siva

+0

为每一行做一个Row.Find,如果找到一个匹配,则将计数器变量加1,迭代所有行的相同操作。没有太多复杂的东西 – Siva

回答

1

比方说,你正在寻找“ID1”,在我行和j列的一个阵列,与第一单元A1

Dim SearchCriteria as string 
Dim CheckRow, CheckCol, i,j, HitCounter as long 

SearchCriteria = "id1" 
i = 10 
j = 10 
HitCounter = 0 

For CheckRow = 1 to i 
    For CheckCol = 1 to j 
     If(instr(cells(CheckRow ,CheckCol),SearchCritera) <> 0 then 'If the criteria is found in the cell 
      HitCounter = HitCounter + 1 
      Exit For 'Exit the column loop and go to the next row 
     End if 

    Next j 
Next i 

MsgBox "Your criteria was found in " & HitCounter & " different rows" 
+0

感谢您解释它@Siva。现在我觉得这是多么可笑的问题。 –

相关问题