Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1492to1496
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
Formular-ListBox Multiselect auslesen
18.05.2016 07:24:34
Mister-B
Hallo und guten Morgen,
ich habe eine UF mit einer ListBox die mit diesem Makro befüllt wird:
Sub Check_Combo1()
For i = 1 To 208
If ComboBox3.Value = Sheets("LongList").Cells(i, 5).Text Then
Me.ListBox2.AddItem Sheets("LongList").Cells(i, 2)
SpalteBox = 0
With Me.ListBox2
For Spalte = 2 To 2
SpalteBox = SpalteBox + 1
.List(.ListCount - 1, SpalteBox) = Sheets("LongList").Cells(i, 3)
Next
End With
With Me.ListBox2
For Spalte = 3 To 3
SpalteBox = SpalteBox + 1
.List(.ListCount - 1, SpalteBox) = Sheets("LongList").Cells(i, 5)
Next
End With
With Me.ListBox2
For Spalte = 4 To 4
SpalteBox = SpalteBox + 1
.List(.ListCount - 1, SpalteBox) = Sheets("LongList").Cells(i, 6)
Next
End With
With Me.ListBox2
For Spalte = 5 To 5
SpalteBox = SpalteBox + 1
.List(.ListCount - 1, SpalteBox) = Sheets("LongList").Cells(i, 10)
Next
End With
With Me.ListBox2
For Spalte = 6 To 6
SpalteBox = SpalteBox + 1
.List(.ListCount - 1, SpalteBox) = Sheets("LongList").Cells(i, 16)
Next
End With
With Me.ListBox2
For Spalte = 7 To 7
SpalteBox = SpalteBox + 1
.List(.ListCount - 1, SpalteBox) = Sheets("LongList").Cells(i, 9)
Next
End With
End If
Next
End Sub
Ich möchte nun mittels Multiselect einige Einträge auswählen und nach drucken eines CommandButtons sollen die entsprechenden Einträge in der Tabelle ("LongList") in Spalte 17 mit einem "100" ergänzt werden.
Kann jemand mir bitte helfen. Ich habe einiges probiert aber immer wurde nur der letzte markierte Eintrag berücksichtigt.
Vielen Dank und Gruß
Martin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formular-ListBox Multiselect auslesen
18.05.2016 07:59:11
Nepumuk
Hallo,
ich war so frei dein Füll-Makro zu überarbeiten.
Private Sub Check_Combo1()
    
    Dim lngRow As Long
    
    With ListBox2
        
        For lngRow = 1 To 208
            
            If ComboBox3.Text = Worksheets("LongList").Cells(lngRow, 5).Text Then
                
                .AddItem Worksheets("LongList").Cells(lngRow, 2).Text
                .List(.ListCount - 1, 1) = Worksheets("LongList").Cells(lngRow, 3).Text
                .List(.ListCount - 1, 2) = Worksheets("LongList").Cells(lngRow, 5).Text
                .List(.ListCount - 1, 3) = Worksheets("LongList").Cells(lngRow, 6).Text
                .List(.ListCount - 1, 4) = Worksheets("LongList").Cells(lngRow, 10).Text
                .List(.ListCount - 1, 5) = Worksheets("LongList").Cells(lngRow, 16).Text
                .List(.ListCount - 1, 6) = Worksheets("LongList").Cells(lngRow, 9).Text
                
            End If
        Next
    End With
End Sub

Private Sub CommandButton1_Click()
    Dim lngIndex As Long
    With ListBox2
        For lngIndex = 0 To .ListCount - 1
            If .Selected(lngIndex) Then
                
                'Hier was auch immer
                
            End If
        Next
    End With
End Sub

Gruß
Nepumuk

Anzeige
AW: Formular-ListBox Multiselect auslesen
18.05.2016 08:18:08
Mister-B
Hallo Nepumuk,
vielen Dank für die schnelle Hilfe. Ich verstehe, dass das zweite Makro die ListBox durchsucht und merkt sich die ausgewählten Eintragungen. Aber wie stelle ich eine Verbindung zwischen dem Inhalt der ListBox und die Tabelle her? So z.B. wenn die ersten Spalten der markierten Eintragungen in der Listbox den gleichen Inhalt haben wie die entsprechenden Zellen in Spalte 1 der Tabelle dann...?
Ich hoffe du kannst mir weiter helfen.
Viele Grüße
Martin

AW: Formular-ListBox Multiselect auslesen
18.05.2016 08:21:01
Nepumuk
Hallo,
am einfachsten, du speicherst die Zeilennummer zusätzlich in der ListBox.
Gruß
Nepumuk

Anzeige
AW: Formular-ListBox Multiselect auslesen
18.05.2016 08:12:25
ransi
Hallo MArtin,
Schau dir mal die selected-Eigenschaft der ListBox an.
Damit kannst du Multiselect auswerten.
Option Explicit

Private Sub CommandButton1_Click()
    Dim I As Integer
    For I = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(I) = True Then
            MsgBox ListBox1.List(I)
        End If
    Next
End Sub


ransi
Anzeige

53 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige