2017-02-01 2 views
-2

特定の文字列が特定のシートに2回表示されているかどうかを確認しようとしています。これまでのところ、私は文字列のみが一度表示されたかどうかを確認することができるよ:ワークシートに文字列が表示されるかどうかを確認する* 2回* Excel VBA?

For Each curr In wb.Worksheets(1).UsedRange 
    If InStr(1, curr.Value, searchString) > 0 Then 
     MsgBox ("searchString appears once") 
    End If 
Next 

にはどうすれば値が2回表示かどうかを確認するためにUsedRangeをチェックしますか?これはマクロでなければなりません(これまで私がこれを行う数式を見つけました)。

答えて

4
If WorksheetFunction.CountIf(Worksheets(1).UsedRange, "*" & searchString & "*") > 1 Then 
    MsgBox searchString & " appears more than once" 
End If 
4

あなたが最初のマッチを見つけたときにフラグを設定し、フラグが設定されているかどうかを確認します。

Dim first As Boolean 
For Each curr In wb.Worksheets(1).UsedRange 
    If InStr(1, curr.Value, searchString) > 0 Then 
     If first Then MsgBox ("searchString appears twice") 
     first = True 
    End If 
Next 
+0

がどのように値が二回表示されるかどうかを確認するには、この使いでしょうか? – studiis

+4

@studiis - それを実行しますか? – Comintern

+0

あなたのコードは、値が一度表示されるかどうかを確認するだけだと思う​​。 あなたがしたのは、コードにフラグを追加することだった。 – studiis

関連する問題