Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1576to1580
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

Userform Zeile Löschen

Userform Zeile Löschen
24.08.2017 10:02:51
Manuela
Hallo liebes Forum,
ich habe mal was für die Profis, das vielleicht nicht ganz so einfach zu lösen ist. Ich habe es selber nicht hin bekommen, bin aber auch nicht mal ansatzweise der Profi.
Ich habe eine Userform bei der ich Zeilen beschreibe. Die erste Zeile ist die Kopfzeile und die zweite Zeile ist die Info Zeile.
Somit wird ab Zeile 3 mit der Userform geschrieben und kann so auch einzelne Zeilen löschen.
Wenn ich aber die ersten zwei Zeilen mit einem Blattschutz versehe, ist es mit nicht möglich irgendeine Zeile zu LÖSCHEN (Laufzeitfehler 1004, das nicht ausgeführt werden könnt).
Alles andere funktioniert Tadellos. Was habe ich in dem Code vergessen zu beachten ?
Hier mal der Code zum Löschen:
'Löschen Schaltfläche Ereignisroutine
Private Sub CommandButton2_Click()
If MsgBox("Eintrag wirklich löschen?", vbYesNo + vbQuestion, _
"Achtung") = vbYes Then GoTo Fortfahren Else GoTo EndeMakro
Fortfahren:
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 3, Zeile 1 sind ja die Überschriften, 2 ist "-"
'Schleife solange etwas in der ersten Spalte in Tabelle 3 drin steht
Do While Trim(CStr(Tabelle3.Cells(lZeile, 1).Value))  ""
'Datensatz ID Spalte mit selektiertem Eintrag der ListBox vergleichen
If ListBox1.Text = Trim(CStr(Tabelle3.Cells(lZeile, 1).Value)) Then
'Eintrag gefunden, die ganze Zeile wird nun gelöscht
Tabelle3.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
EndeMakro:
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Zeile Löschen
24.08.2017 10:17:52
Crazy
Hallo
und wo hebst du in deinem Code den Blattschutz auf?
MfG Tom
AW: Userform Zeile Löschen
24.08.2017 12:55:07
Manuela
Hi Tom,
danke für den hinzweis. Ich dachte es geht auch ohne.
Hab jetzt den Code integriert. Danke dir für den Tip, bin da nicht auf diesen Lösungsweg gekommen. Wie heißt das so schön: "Vor lauter Bäume den Wald nicht gefunden".
' Blattschutz aufheben
Worksheets("Tabellename").Protect (12345), UserInterFaceOnly:=True
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige