Löschen aus Listbox und Zeile in Tabelle mit Refre
22.09.2014 18:29:27
Vulferin
Hallo zusammen
Ich befülle eine Listbox mit
For i = 1 To 9
Controls("Textbox" & i) = ""
Next
TextBox11 = ""
TextBox13 = ""
TextBox15 = ""
For i = 17 To 21
Controls("Textbox" & i) = ""
Next
For i = 1 To 4
Controls("Checkbox" & i) = False
Next
'In dieser Routine laden wir alle vorhandenen
'Eintr_ge in die ListBox1
ListBox1.Clear 'Zuerst einmal die Liste leeren
lZeile = 2 '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)) <> ""
'Aktuelle Zeile in die ListBox eintragen
If Tabelle1.Rows(lZeile).Hidden = False Then
With Me.ListBox1
.ColumnCount = 2
.AddItem
.List(.ListCount - 1, 0) = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))
.List(.ListCount - 1, 1) = lZeile 'Zeilennummer des Datensatzes
.ColumnWidths = "5,5cm;0,5cm" '<--- wenn Zeilennummer nicht angezeigt werden
'soll letzten Eintrag auf 0cm ändern
End With
End If
lZeile = lZeile + 1 'N_chste Zeile bearbeiten
Loop
ich lösche einen Eintrag mit
Private Sub CommandButton2_Click()
Dim lZeile As Long
If ListBox1.ListIndex = -1 Then Exit Sub
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
Tabelle1.Rows(CStr(lZeile & ":" & lZeile)).Delete
Call UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
Exit Do
End If
lZeile = lZeile + 1
Loop
End Sub
jetzt springt er immer an den Anfang der Liste.
kann mann das so machen das er Sich die Zeile wo er war merkt und dann wieder nach dem Löschen an diesen Zeilen Nr zurück springt ?
d.H er löscht eintrag 20 ( ich glaub das kann mann über listindex abfragen oder ?)
er diesen löscht und dann die neue nachgerückt 20 selektiert