2016-08-12 6 views
1

In einer typischen Suchfunktion eine Zelle mit dem Test „DID“ zu finden, würde der Code so etwas wieFinden Erste insance von keinem Wert

aussieht
Set cell = Selection.Find(What:="DID", After:=ActiveCell, _ 
LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _ 
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) 

Was aber, wenn ich versuche, die ersten zu finden Instanz von etwas anderem als "DID"? Ich habe es ausprobiert, scheint aber nicht zu funktionieren.

Set cell = Selection.Find(What <> "DID", After:=ActiveCell, LookIn:=xlFormulas, _ 
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ 
MatchCase:=False, SearchFormat:=False) 

Antwort

1

können Sie .Find und .FindNext zusammen verwenden. Ist das was du willst?

Sub Sample() 
    Dim aCell As Range, bCell As Range 

    Set aCell = Cells.Find(What:="*", LookIn:=xlFormulas, _ 
    LookAt:=xlWhole, SearchOrder:=xlByRows, _ 
    SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) 

    If Not aCell Is Nothing Then 
     Set bCell = aCell 

     If aCell.Value <> "DID" Then 
      MsgBox aCell.Address 
      Exit Sub 
     End If 

     Do 
      Set aCell = Cells.FindNext(After:=aCell) 

      If Not aCell Is Nothing Then 
       If aCell.Address = bCell.Address Then Exit Do 
       If aCell.Value <> "DID" Then 
        MsgBox aCell.Address 
        Exit Do 
       End If 
      End If 
     Loop 
    End If 
End Sub 
+0

Hallo! Erstens, danke für die Antwort. –

+0

Hallo! Erstens, danke für die Antwort. Ich verstehe es eine alternative Art und Weise, dies zu tun durch Looping und den nächsten Wert zu finden, die nicht „DID“ ist. Aber meine Frage war, ob ich den Code für die Suche nach dem ersten „DID“, dh Selection.Find ändern wollte (was: = „DID“) zu finden, die ersten nicht „DID“ ist es möglich, durch einfache, dies zu tun Auswahl zu ändern. Suchen (Was: = "DID")? Wie ich bereits sagte, Selection.Find (What <> „DID“) scheint nicht zu funktionieren. –

+0

Ich bezweifle, Sie können es tun, indem er „<> DID“ und daher müssen Sie die Schleife –

Verwandte Themen