Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Löschen aus Listbox und Zeile in Tabelle mit Refre

Betrifft: Löschen aus Listbox und Zeile in Tabelle mit Refre von: Vulferin
Geschrieben am: 22.09.2014 18:29:27

Hallo zusammen
Ich befülle eine Listbox mit

  • Dim i As Integer
    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

      

    Betrifft: Doppelt von: Hajo_Zi
    Geschrieben am: 22.09.2014 18:32:47

    https://www.herber.de/forum/messages/1382875.html


      

    Betrifft: AW: Doppelt von: Vulferin
    Geschrieben am: 22.09.2014 18:48:56

    ja irgendwie hat er das 2 mal reingestellt
    sorry
    war keine absicht


      

    Betrifft: Doppelt - egal ... von: Matthias L
    Geschrieben am: 22.09.2014 18:56:41

    Hallo

    ... naja, dafür gibts ja dann keine Rückmeldungen von Dir.
    Da gleicht sich das aus ;-)

    Gruß Matthias


      

    Betrifft: AW: Löschen aus Listbox und Zeile in Tabelle mit Refre von: Matthias L
    Geschrieben am: 22.09.2014 19:21:53

    Hallo

    Du setzt doch den ListIndex hier selbst auf 0 (Null)

    If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
    Evtl. hilft es ja schon diese Zeile wegzulassen.
    Ich kann es ja nicht Testen, Sorry.

    Gruß Matthias


      

    Betrifft: AW: Löschen aus Listbox und Zeile in Tabelle mit Refre von: Vulferin
    Geschrieben am: 22.09.2014 19:43:22

    Nachdem ich die Zeile rausgenommen habe
    Leider ist dann keine Zeile selektiert


     

    Beiträge aus den Excel-Beispielen zum Thema "Löschen aus Listbox und Zeile in Tabelle mit Refre"