multiselect

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: multiselect
von: Basti
Geschrieben am: 02.04.2005 12:57:32
Hallo zusammen,
Bei dem Code unten hat die Listbox3 die multiselectextendet eigenschaft aber es wird nicht wie gewünscht (Value) eingetragen nicht mal wenn ich nur ein was auswähle in der Listbox drei


Private Sub CommandButton1_Click()
Sheets("tabelle1").Activate
Range("a2000").End(xlUp).Offset(1, 0).Activate
With UserForm2
ActiveCell.Offset.Value = ListBox1.Value
ActiveCell.Offset(0, 1).Value = ListBox2.Value
ActiveCell.Offset(0, 2).Value = ListBox3.Value
End With
End Sub

Wenn ich also jetzt drei Sachen markiere in der Listbox drei möchte ich gern das das erste nach Offset(0, 2) eingetragen wird das zweite darunter und so weiter.
Gruß Basti
Bild

Betrifft: AW: multiselect
von: Hajo_Zi
Geschrieben am: 02.04.2005 13:06:21
Hallo Basti,
ich mache mir nicht die Mühe und baue die Userform mit 3 Listboxen nach. Die erstellung hast Du ja schon gemacht. Läst Du die mehrfach auswahl in Deiner Listbox zu mußt Du eine Schleife einsetzen. z.B. so

Private Sub CommandButton1_Click()
    Dim Loletzte As Long
    Dim LoI As Long
    With Worksheets("Tabelle1")
        Loletzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
        If Loletzte = 65536 Then
            MsgBox "keine Zeile mehr frei"
            Exit Sub
        End If
'   von Peter Haserodt
        For LoI = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(LoI) Then
                 's = s & ListBox1.List(i)
                ' Beispiel nur Spalte 1
                .Cells(Loletzte + 1, 1) = ListBox1.List(LoI, 0)
                Loletzte = Loletzte + 1
            End If
        Next LoI
' *******
   End With
End Sub


Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Bild

Betrifft: AW: multiselect
von: Ramses
Geschrieben am: 02.04.2005 13:08:59
Hallo
Wenn die Eigenschaft auf "Multiselect" steht, gibt die Listbox keinen Wert mehr direkt zurück. Du musst per Schleife durch alle Listbox-einträge gehen und auf die Eigenschaft "selected = True" prüfen
Option Explicit

Private Sub CommandButton1_Click()
Dim i As Integer, tmpR As Integer
'Berechnet das Offset
tmpR = 0
For i = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(i) = True Then
        ActiveCell.Offset(tmpR, 2) = Me.ListBox1.List(i)
        tmpR = tmpR + 1
    End If
Next i
End Sub


Gruss Rainer
Bild

Betrifft: AW: multiselect
von: Basti
Geschrieben am: 02.04.2005 13:59:25
Hab zwar den Inhalt des Code nicht wirklich verstanden, konnte es aber mit herumprobieren so zusammenbasteln das ich es super gebrauchen kann.
Vielen Dank Basti
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zeilennummern ausblenden/löschen"