Find-Methode in VBA

18/04/2008 - 18:02 von Egon Heller | Report spam
Hallo,
ich habe mit der Find-Methode in VBA ein Problem.

Ich arbeite mit einem Dialog. Die erste TextBox enthàlt den Suchbegriff
(numerische Werte).
Mit der Find-Anweisung: Selection.Find(What:=frm.TextBox1.Value, ...)
erhalte ich immer dann eine Lösung, wenn der Suchbegriff vorhanden ist.
Ansonsten kommt eine Fehlermeldung: Laufzeitfehler 91, "Objektvariable oder
With-Blockvariable nicht festgelegt."

Ich habe nun vor der Find-Anweisung: On Error Resume Next, danach - If
Selection.Find(What:=n) Is Nothing Then Goto NichtGefunden,
und konnte mir eine Lösungsbrücke bauen. Liefert "Find" nicht einen
Rückgabewert den man abfragen kann?

Ich habe nun die Frage, ob man diese Fehlermeldung immer abfangen muss, oder
habe ich im Aufbau der Find-Anweisung bereits einen Gedankenfehler?

Es grüßt Euch
Egon
 

Lesen sie die antworten

#1 Robert Gelbmann
18/04/2008 - 18:29 | Warnen spam
Hallo Egon!

"Egon Heller" schrieb ...
Hallo,
ich habe mit der Find-Methode in VBA ein Problem.

Ich arbeite mit einem Dialog. Die erste TextBox enthàlt den
Suchbegriff (numerische Werte).
Mit der Find-Anweisung: Selection.Find(What:=frm.TextBox1.Value,
...) erhalte ich immer dann eine Lösung, wenn der Suchbegriff
vorhanden ist.
Ansonsten kommt eine Fehlermeldung: Laufzeitfehler 91,
"Objektvariable oder With-Blockvariable nicht festgelegt."

Ich habe nun vor der Find-Anweisung: On Error Resume Next,
danach - If Selection.Find(What:=n) Is Nothing Then Goto
NichtGefunden,
und konnte mir eine Lösungsbrücke bauen. Liefert "Find" nicht
einen Rückgabewert den man abfragen kann?



Find liefert Nothing als Ergebnis zurück, wenn nichts gefunden
wurde.
Offenbar versuchst du aber das Ergebnis gleich zu verwenden (.Select
etc.).

Ein Beispiel (Übrigens gibt es in der VBA-Hilfe zum Thema Find auch
eines ...)

'snip
Set c = Selection.Find(What:=frm.TextBox1.Text, ...)
If c Is Nothing Then
MsgBox "Nicht gefunden!", vbExclamation
Else
c.Select
End If
'snip

In der Hoffnung geholfen zu haben, verbleibe ich mit einem leisen


Servus aus Wien,
-Robert Gelbmann-

I solemnly swear that I'm up to no good.

Ähnliche fragen