Hallo Forum,
ich möchte mit untenstehendem Makro folgendes lösen:
Der Inhalt von Combobox4 ("anwesend" oder "abwesend") soll einer Zielzelle (...Offset,15), welche Excel sucht, zugeordnet werden. Dies funktioniert soweit.
Wenn in der Zielzelle das Wort "abwesend" hineingeschireben wird, soll die ganze Reihe in das Sheet "StatListbox" kopiert werden. Auch das funktioniert.
Schreibt Excel nun das Wort "anwesend" in ide Zielzelle (...offset,15) soll dieser Eintrag aus dem Sheet "Statlistbox" wieder entfernt werden.
Hier besteht derzeit das Problem, dass Excel abbricht (With-Block Variable nicht festgelegt...), weil es die Variabel zelle2 nicht finden kann.
Wie kann ich excel sagen, wenn Zelle2=nicht vorhanden, dann mache nichts....
Danke und Gruß
Chris
Private Sub ComboBox4_Click()
Dim suche As String
Dim zelle As Range
Dim zelle2 As Range
Dim lnglast As Long
Set zelle = Sheets("Overview").Range("B:B").Find(What:=suche, LookIn:=xlValues, Lookat:=xlWhole, _
SearchDirection:=xlPrevious)
lnglast = Sheets("StatListbox").Cells(Rows.Count, 1).End(xlUp).Row + 1
'Status in Wks schreiben
suche = UserForm1.ComboBox1.Value
If Not zelle Is Nothing Then
zelle.Offset(, 15) = UserForm1.ComboBox4.Value
End If
'kopieren wenn abwesend
If zelle.Offset(, 15).Value = Sheets("FillSourcesOBJ").Range("D3") Then
zelle.Resize(, 5).Copy
With Sheets("Statlistbox").Range("A" & lnglast)
.PasteSpecial Paste:=xlValues ' Werte
End With
End If
Application.CutCopyMode = False
'kopiertes löschen, wenn wieder anwesend
Set zelle2 = Sheets("Statlistbox").Range("A:A").Find(What:=suche, LookIn:=xlValues, Lookat:= _
xlWhole, SearchDirection:=xlPrevious)
If zelle.Offset(, 15).Value = Sheets("FillsourcesOBJ").Range("D2") then
zelle2.EntireRow.Delete
End If
End Sub