15.05.2016, 12:47
Hallo!
ich habe folgenden Code:
Nun möchte ich vor dem Löschen noch eine MsgBox öffnen:
Wenn ich aber dies oben einfügen:
kommt der Fehler:
Debug: Fehler beim Kompilieren---Variable nicht definiert.
Wenn ich dann den 2.Code lösche ,funktioniert es,
Warum ?die Variable ist doch definiert.
ich habe folgenden Code:
Code:
'Löschen Schaltfläche Ereignisroutine
Private Sub CommandButton2_Click()
Dim lZeile As Long
'Wenn kein Datensatz in der ListBox markiert wurde, wird die Routine beendet
If ListBox1.ListIndex = -1 Then Exit Sub
'Zum Löschen benötigen wir die Zeilennummer des ausgewählten Datensatzes
lZeile = 3 'Start in Zeile 2, Zeile 1 sind ja die Überschriften
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""
'Datensatz ID Spalte mit selektiertem Eintrag der ListBox vergleichen
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
'Eintrag gefunden, die ganze Zeile wird nun gelöscht
Tabelle1.Rows(CStr(lZeile & ":" & lZeile)).Delete
'Die ListBox muss nun neu geladen werden!
Call UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
Exit Do 'Vorzeitiges Ende, da der Datensatz schon gefunden ist
End If
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
End Sub
Nun möchte ich vor dem Löschen noch eine MsgBox öffnen:
Code:
If MsgBox("Daten entgültig löschen?", vbYesNo) = vbYes Then xxxx
End If
Wenn ich aber dies oben einfügen:
Code:
'Löschen Schaltfläche Ereignisroutine
Private Sub CommandButton2_Click()
If MsgBox("Daten entgültig löschen?", vbYesNo) = vbYes Then Tabelle1.Rows(CStr(lZeile & ":" & lZeile)).Delete
End If
Dim lZeile As Long
'Wenn kein Datensatz in der ListBox markiert wurde, wird die Routine beendet
If ListBox1.ListIndex = -1 Then Exit Sub
'Zum Löschen benötigen wir die Zeilennummer des ausgewählten Datensatzes
lZeile = 3 'Start in Zeile 2, Zeile 1 sind ja die Überschriften
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""
'Datensatz ID Spalte mit selektiertem Eintrag der ListBox vergleichen
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
'Eintrag gefunden, die ganze Zeile wird nun gelöscht
Tabelle1.Rows(CStr(lZeile & ":" & lZeile)).Delete
'Die ListBox muss nun neu geladen werden!
Call UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
Exit Do 'Vorzeitiges Ende, da der Datensatz schon gefunden ist
End If
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
End Sub
kommt der Fehler:
Debug: Fehler beim Kompilieren---Variable nicht definiert.
Wenn ich dann den 2.Code lösche ,funktioniert es,
Warum ?die Variable ist doch definiert.