Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1544to1548
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Objektvariable nicht definiert

Objektvariable nicht definiert
27.02.2017 12:34:53
J
hallo,
Ich habe in einem Excel-File eine Datenbank angelegt. Mit folgendem Code lese ich Daten aus der Datenbank wieder aus und füge diese Daten dann in ein Eingabeblatt ein:
Sub auswahl()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
With Worksheets("Datenbank").Range("E1:ZZ1")
Set c = .Find(Sheets("Eingabe").Range("H8").Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Sheets("Datenbank").Select
Range(Cells(c.Row + 2, c.Column), Cells(c.Row + 48, c.Column + 1)).Select
Selection.Copy
Sheets("Eingabe").Select
Range("F13").Select
ActiveSheet.Paste
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
End If
End With
Application.ScreenUpdating = True
ActiveSheet.Protect
End Sub
Nun habe ich den Code zum Löschen eines Eintrags in der Datenbank folgendermaßen angepasst:
Sub ichloschedas()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Sheets("Datenbank").Select
ActiveSheet.Unprotect
With Worksheets("Datenbank").Range("E1:ZZ1")
Set e = .Find(Sheets("Eingabe").Range("H8").Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not e Is Nothing Then
firstAddress = e.Address
Do
Sheets("Datenbank").Select
Cells(e.Row, e.Column).Select
Selection.ClearContents
Range(Cells(e.Row + 2, e.Column), Cells(e.Row + 47, e.Column + 1)).Select
Selection.ClearContents
Cells(100, ((e.Column * 0.5) - 1.5)).Select
Selection.ClearContents
Sheets("Eingabe").Select
Range("F13").Select
Application.ScreenUpdating = True
ActiveSheet.Protect
Set e = .FindNext(e)
Loop While Not e Is Nothing And e.Address  firstAddress
End If
End With
End Sub
Der erste Code zum einlesen funktioniert einwandfrei und ohne Fehlermeldung. Beim zweiten Code wird mir die Fehlermeldung "Objektvariable oder with-blockvariable nicht festgelegt".
Wäre super, wenn mir jemand weiterhelfen könnte!
Grüße

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Objektvariable nicht definiert
27.02.2017 13:09:58
ChrisL
Hi
Das Problem liegt darin, dass du auf dem Blatt Datenbank, Zeile 1 die Suchkriterien löschst. Im letzten Loop Durchlauf liefert "e.Address" einen Fehler, weil e = Nothing. Hier wird gelöscht:
Cells(e.Row, e.Column).Select
Selection.ClearContents
Quick & Dirty ein "Notausgang":
Set e = .FindNext(e)
If e Is Nothing Then Exit Do
Loop While Not e Is Nothing And e.Address  firstAddress
Für eine sauberere Lösung müsste man mal eine konkrete Beispieldatei haben. U.a. würde mich interessieren, ob es den Loop überhaupt braucht oder ob die Suchkriterien nicht eindeutig sind.
cu
Chris
Anzeige

34 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige