Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
512to516
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
512to516
512to516
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ausgewählten Eintrag aus Listbox entfernen

ausgewählten Eintrag aus Listbox entfernen
10.11.2004 19:24:01
Herbert
Hallo Leute
Ich habe eine Tabelle, in der ich per Doppelklick Zeilen ausblende. Die ausgewählten Zeilen lasse ich später über eine Listbox anzeigen, um einzelne Zeilen wieder einzublenden. Funktioniert auch - aber:
Die ausgewählten Zeilen bleiben in in der Listbox - Ich möchte aber, daß beim Listbox_Click die entsprechede Zeile wieder eingeblendet wird und der Eintrag gleichzeitig aus der Box gelöscht wird. Habe auch schon versucht, den Code auf einen Commandbutton zu legen, aber wenn ich die Eigenschaft der Listbox auf Multiselect setzte (nur dann macht´s Sinn), funzt es nicht mehr und dann sind meine VBA-Kenntnisse am Ende.
Vieleicht kann mir jemand einen Rat geben
Gruß Herbert


Private Sub ListBox1_Click()
Dim iRow As Integer, iRowL As Integer
iRowL = 36
For iRow = 1 To iRowL
If Cells(iRow, 1).Value = ListBox1.Value Then
Rows(iRow).Hidden = False
End If
Next iRow
End Sub


Private Sub UserForm_Initialize()
Dim xx, liste
ListBox1.Clear
For Each xx In Range("A1:A36")
If ActiveCell.EntireRow.Hidden = True Then
liste = ActiveCell.Value
ListBox1.AddItem liste
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Next xx
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ausgewählten Eintrag aus Listbox entfernen
10.11.2004 20:06:05
Nepumuk
Hallo Herbert,
das geht natürlich mit Multiselect und Button.


Option Explicit
Private Sub CommandButton1_Click()
    Dim lngIndex As Long, lngRow As Long
    With ListBox1
        For lngIndex = .ListCount - 1 To Step -1
            If .Selected(lngIndex) Then
                For lngRow = 1 To 36
                    If Cells(lngRow, 1).Value = .List(lngIndex) Then Rows(lngRow).Hidden = TrueExit For
                Next
                .RemoveItem (lngIndex)
            End If
        Next
    End With
End Sub
Private Sub UserForm_Activate()
    Dim lngRow As Long
    For lngRow = 1 To 36
        If Not Rows(lngRow).Hidden Then ListBox1.AddItem Cells(lngRow, 1).Value
    Next
End Sub


Gruß
Nepumuk
Anzeige
AW: ausgewählten Eintrag aus Listbox entfernen
10.11.2004 22:33:54
Herbert
Danke Dir
Werde es Morgen Nachmittag ausprobieren und mich auf jedenfall noch mal in diesem Tread melden.
Gruß Herbert
AW: ausgewählten Eintrag aus Listbox entfernen
11.11.2004 13:01:05
Herbert
Hallo Nepumuk
Erstmal vielen Dank für Deine Hilfe.
Der Code läuft, wenn ich den Commandbutton (Caption: Einblenden) anklicke werden die gewählten Einträge aus der Listbox gelöscht, aber die entspechenden Zeilen nicht sofort wieder eingeblendet (die Userform sollte offen bleiben, um weitere Zeilen auszuwählen), sondern erst nach Unload Me (Button "Beenden").
Ich hoffe, das war verständlich und Du kannst Du mir nochmal helfen?
Gruß Herbert
AW: ausgewählten Eintrag aus Listbox entfernen
11.11.2004 14:04:45
Udo
Sofort nach dem Löschen Listbox neu einlesen.
Udo
Anzeige
AW: ausgewählten Eintrag aus Listbox entfernen
11.11.2004 15:35:28
Herbert
Hallo Udo
Hab ich schon probiert (siehe Code), aber erst wenn ich den Commandbutton2 auswähle, werden die Zeilen wieder eingeblendet.
Ich weiß nicht warum es nicht funktioniert.
Gruß Herbert

Private Sub CommandButton2_Click()
ListBox1.Clear
Unload Me
Range("D6").Activate
End Sub


Private Sub CommandButton1_Click()
Dim lngIndex As Long, lngRow As Long
With ListBox1
For lngIndex = .ListCount - 1 To 0 Step -1
If .Selected(lngIndex) Then
For lngRow = 6 To 36
If Cells(lngRow, 1).Value = .List(lngIndex) Then Rows(lngRow).Hidden = False ': Exit For
Next
.RemoveItem (lngIndex)
End If
Next
End With
ListBox1.Clear
Unload Me
Range("D6").Activate
Aktivaus.Show
End Sub

Anzeige
Mein Fehler
12.11.2004 14:53:14
Herbert
Das kommt davon, wenn man sich nur einen Ausschnitt eines Programms anschaut. Screenupdating False zum falschen Zeitpunkt - da wars. Aber jetz suche ich nach einer anderen Lösung.
Gruß an alle die den Tread gelesen und verschucht haben mir zu helfen
Herbert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige