Fehler cells.find abfangen

Bild

Betrifft: Fehler cells.find abfangen
von: Frank Tesch
Geschrieben am: 17.05.2015 11:34:41


Hallo,
ich weiß nicht, wie ich das folgende Problem lösen kann!?
Ich suche in einer Tabelle mit dem unten angeführten Makro nach einem Wert und wenn dieser da ist, dann soll ein weiteres Makro ausgeführt werden (M45_......) [es werden 3 Zeilen und ein Text in die Tabelle eingefügt]
wenn allerdings der Wert z.B. 'Hund' nicht existiert, dann bricht das Makro ab
----------------------------------------------------------------------------------------
Range("A6").Select
Cells.Find(What:="hund", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
M45_Markierung ' 3 Zeilen und Text einfügen
'.............................................................................
Range("A6").Select
Cells.Find(What:="katze", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
M45_Markierung ' 3 Zeilen und Text einfügen
'.............................................................................
Range("A6").Select
Cells.Find(What:="maus", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
M45_Markierung ' 3 Zeilen und Texteinfügen
'.............................................................................
Wie kann ich es erreichen, dass die weiteren Werte 'katze' und 'maus' weiter abgearbeitet werden, das Makro also weiterläuft?
Danke für eure Hilfe!
pengdaw Im Profil kannst Du frei den Rang ändern Beiträge: 23Registriert: 21.04.2013, 08:33

Bild

Betrifft: AW: Fehler cells.find abfangen
von: Gerd L
Geschrieben am: 17.05.2015 11:55:01
Hallo Frank!

Sub B()
Dim objRange As Range
Range("A6").Select
Set objRange = Cells.Find(What:="hund", After:=ActiveCell, LookIn:= _
    xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
    xlNext, MatchCase:=False, SearchFormat:=False)
If Not objRange Is Nothing Then
    objRange.Activate
    M45_Markierung ' 3 Zeilen und Text einfügen
End If
'.............................................................................

Die Find-Methode gibt ein Rangeobjekt oder Nothing zurück. Deshalb sollte man für den 2. Fall
nicht direkt eine Methode ans Ergebnis hängen (.Find(..).Activate).
Gruß Gerd

Bild

Betrifft: AW: Fehler cells.find abfangen
von: Nepumuk
Geschrieben am: 17.05.2015 11:56:27
Hallo,
so:

Public Sub Beispiel()
    
    Dim objCell As Range
    
    Set objCell = Cells.Find(What:="hund", After:=Range("A6"), LookIn:= _
        xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
        xlNext, MatchCase:=False, SearchFormat:=False)
    If Not objCell Is Nothing Then M45_Markierung ' 3 Zeilen und Text einfügen
    
    '.............................................................................
    
    Set objCell = Cells.Find(What:="katze", After:=Range("A6"), LookIn:= _
        xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
        xlNext, MatchCase:=False, SearchFormat:=False)
    If Not objCell Is Nothing Then M45_Markierung ' 3 Zeilen und Text einfügen
    
    '.............................................................................
    
    Set objCell = Cells.Find(What:="maus", After:=Range("A6"), LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
    If Not objCell Is Nothing Then M45_Markierung ' 3 Zeilen und Texteinfügen
    
    '.............................................................................
    
End Sub

Gruß
Nepumuk

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Fehler cells.find abfangen"