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