Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 91

Forumthread: Laufzeitfehler 91

Laufzeitfehler 91
29.02.2008 19:37:09
Dirk
Hallo mal wieder,
mit folgendem Code in einem UserForm gleiche ich Daten zwischen 2 Blättern ab.
Das Problem ist nun: Wird kein übereinstimmender Wert in der Spalte E gefunden, so erscheint die Fehlermeldung '91' Objektvariable od. With-Blockvariable nicht festgelegt u. beim Debuggen wird die Zeile rng.select markiert.
Ausser bei diesem Sonderfall funktioniert der Code aber einwandfrei...
Wo liegt der Fehler ?

Private Sub CommandButton2_Click()  'Filmdaten ändern
Unload Me
Dim rng As Range
Set Auswahl = Selection
Application.ScreenUpdating = False
If IsEmpty(rng) = True Then Exit Sub
Sheets("Media-FP").Activate
Set rng = Cells.Columns(5).Find(what:=Auswahl, lookat:=xlWhole, LookIn:=xlValues)
rng.Select
Range(rng.Offset(0, 0), rng.Offset(0, 6)).Select
Auswahl.Copy
ActiveSheet.Paste 'alles
Set Auswahl = Nothing
Sheets("DVD-Sammlung").Activate
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


MfG Dirk

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 91
29.02.2008 19:48:54
Erich
Hallo Dirk,
probier mal

Private Sub CommandButton2_Click()  'Filmdaten ändern
Unload Me
Dim rng As Range
Set Auswahl = Selection
Application.ScreenUpdating = False
If IsEmpty(rng) = True Then Exit Sub
Sheets("Media-FP").Activate
Set rng = Cells.Columns(5).Find(what:=Auswahl, lookat:=xlWhole, LookIn:=xlValues)
If rng Is Nothing Then
' was soll dann geschehen?
Else
rng.Select
Range(rng.Offset(0, 0), rng.Offset(0, 6)).Select
Auswahl.Copy
ActiveSheet.Paste 'alles
End If
Set Auswahl = Nothing
Sheets("DVD-Sammlung").Activate
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Laufzeitfehler 91
29.02.2008 19:59:00
Volti
Hallo Dirk,
ich hatte zufällig heute nachmittag den gleichen fehler, also wenn der Suchbegriff nicht gefunden wurde.
Ich hatte den Select-Befehl direkt hinter die Suche gesetzt also ohne Set=....
Ich habe zur Lösung einfach einen Errorabfang gesetzt. das funktioniert auch.

Sub dhgsdhu()
On Error GOTO Nixgefunden
Cells.Columns(5).Find(what:=Auswahl, lookat:=xlWhole, LookIn:=xlValues).Select
...weiterer code...
EXIT SUB
Nixgefunden:
MSGBOX "Habe nichts gefunden!"
ON ERROR GOTO 0
RESUME NEXT
End Sub


Oder auch so:


Sub dhgsdhu()
On Error RESUME NEXT
Cells.Columns(5).Find(what:=Auswahl, lookat:=xlWhole, LookIn:=xlValues).Select
On Error goto 0
... wieterer code........
End Sub


Entscheide selbst, welches der drei Möglichekeiten besser ist.
viele Grüße
Karl-Heinz

Anzeige
AW: Laufzeitfehler 91
29.02.2008 20:09:00
Dirk
Hallo Erich,
DANKE - funktioniert einwandfrei !!!
Allerdings habe ich nun noch eine MsgBox einbauen wollen u. deine Zeile:
' was soll dann geschehen?
einfach ersetzt durch
MsgBox "Konnte nix finden"
Aber die MsgBox erscheint nie...
Kannst du nochmal helfen ?
MfG Dirk

Anzeige
AW: Laufzeitfehler 91
29.02.2008 20:17:22
Erich
Hallo Dirk,
steht vor MsgBox vielleicht noch das einzelne Hochkomma?
Dann musst du das noch löschen - sonst ist die Zeile ein Kommentar.
Oder wurde vielleicht immer der Wert gefunden?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Laufzeitfehler 91
29.02.2008 20:27:00
Dirk
Hi Erich,
sorry, deine 2. Vermutung war richtig.
Ich hatte da etwas doppelt...
Vielen Dank !
MfG Dirk

Anzeige
Danke für Rückmeldung, schönes WE! und ZU (oT)
29.02.2008 20:31:02
Erich
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige