in einem Makro (2003/2007) soll geprüft werden, ob in einer Spalte ein
bestimmter Text (hier: ein Name) vorkommt. Nur dann soll das Makro
fortgesetzt werden.
Was gebe ich ein?
Vielen Dank für Eure Antworten
Herbert Clemens
Hallo Herbert,
füge eine Schleife in deinen Code ein, in der die Zellinhalte geprüft
werden.
Beispiel:
'---------------
Dim ra as Range 'Range-Objekt
Dim c as long
Dim sSuchtext AS String, bGefunden AS Boolean
c = 3 'Nummer der Spalte, die durchsucht werden soll
bGefunden = False 'Flag auf Falsch einstellen
For Each ra in ActiveSheet.UsedRange.Columns(c)
If CStr(ra.Value) = sSuchtext Then
bGefunden = True
Exit For 'Ausstieg aus der Schleife, Text gefunden
End if
Next
'weitere Ausführung ist abhänging vom Flag "bGefunden"
If bGefunden Then
'Hier steht der Code, der weiter ausgeführt werden soll
'wenn der Text gefunden wurde
Else
'Hier steht der Code, der weiter ausgeführt werden soll
'wenn der Text NICHT gefunden wurde
End If
'------ Ende Beispiel ----
Viele Grüße
Stefan
If [A:A].Find("Peter", , , xlWhole) Is Nothing Then Exit Sub
If [A:A].Find("Peter") Is Nothing Then Exit Sub
Die erste Anweisung findet "Peter" nur wenn der Name der gesamte Wert
der Zelle in Spalte A ist. Die zweite Anweisung findet "Peter" als auch
Teile der Zelle z.B. in "Peter Schleif".
Falls nötig kannst Du [A:A] noch um eine Tabellen-Angabe erweitern:
Sheets("Tabelle1").[A:A]
Peter
vielen Dank für Eure Lösungen.
Hat alles bestens geklappt.
Herbert
"Herbert Clemens" <her...@online.de> schrieb im Newsbeitrag
news:i41g3n$qe9$1...@online.de...