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 Image
BildScreenshot zu Image Image-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Mit Multiselect in ListBox Auswahl treffen u...... | Herbers Excel-Forum


Betrifft: Mit Multiselect in ListBox Auswahl treffen u...... von: Josef
Geschrieben am: 26.08.2008 13:43:34

Hallo!

mit folgendem Code werden die Einträge in der ListBox9 in eine neue Arbeitsmappe in die Tabelle1 eingetragen.

Private Sub CommandButton39_Click()
Dim arrList As Variant, lngR As Long, intC As Integer
Dim wb As Workbook
arrList = ListBox9.List
lngR = ListBox9.ListCount
intC = ListBox9.ColumnCount
Set wb = Workbooks.Add(1)
With wb.Sheets(1)
   .Range(.Cells(1, 1), .Cells(lngR, intC)) = arrList
End With
End Sub



Wie kann ich jedoch Daten in der ListBox mittels MultiSelect (1) auswählen und nur die ausgewählten Daten in eine neue Arbeitsmappe bekommen?

Danke

Josef

  

Betrifft: AW: Mit Multiselect in ListBox Auswahl treffen u...... von: Roland Hochhäuser
Geschrieben am: 26.08.2008 14:30:05

Hallo Josef ,

als Ansatz: schreibe in Tabelle1 von A1 bis A10 die Zahlen 1 - 10. Erstelle danach eine UF mit einer Listbox, deren RowSource Du von A1:A10 definierst und einen CommandButton mit folgendem Code:

Private Sub CommandButton1_Click()
Dim i As Integer, j As Integer
j = 1
With ListBox1
For i = 0 To ListBox1.ListCount - 1
    If .List(.List(i)) Mod 2 = 0 Then
        ListBox1.Selected(i) = True
        Cells(j, 3) = .List(.List(i))
        j = j + 1
    End If
Next
End With
End Sub


Wird das Prinzip klar?

Gruß
Roland Hochhäuser


  

Betrifft: AW: Mit Multiselect in ListBox Auswahl treffen u...... von: Josef
Geschrieben am: 26.08.2008 15:01:53

Hallo!

Danke für Deine Antwort.

Habe jetzt den code nachgebaut.

Nach dem Starten werden die geraden Zahlen in die Tabelle eingetragen und ein Laufzeitfehler 381 wird gemeldet.

Ich möchte jedoch meine Auswahl mittels MultiSelect in den Eigenschaften in der Listbox selber treffen und die ausgewählten Zeilen in der Listbox in einer neuen Arbeitsmappe in der Tabelle1 eintragen lassen.


Josef


  

Betrifft: AW: Mit Multiselect in ListBox Auswahl treffen u...... von: Roland Hochhäuser
Geschrieben am: 26.08.2008 15:30:12

Hallo,

wenn du nur die manuell ausgewählten Listboxeinträge überführen willst, dann so

Private Sub CommandButton1_Click()
Dim i As Integer, j As Integer
j = 1
With ListBox1
For i = 0 To ListBox1.ListCount - 1
    If .Selected(i) = True Then
    'hier die genaue gewünschte Adresse vorsehen:
        Cells(j, 3) = .List(i)
        j = j + 1
    End If
Next
End With
End Sub


Mir ging es darum, das Prinzip zu verdeutlichen. Ich wüsste gerne, ob Du das verstanden hast.
Roland


  

Betrifft: AW: Mit Multiselect in ListBox Auswahl treffen u...... von: Josef
Geschrieben am: 26.08.2008 15:48:07

Hallo!

Danke für Deine Antwort Deine Mühe und Deine Hilfe.

Habe die richtige Lösung gerade beim Recherieren gefunden:


Private Sub CommandButton40_Click()
  Dim iRow As Integer, iCol As Integer, iCounter As Integer
   For iRow = 0 To ListBox9.ListCount - 1
      If ListBox9.Selected(iRow) Then
         iCounter = iCounter + 1
         For iCol = 2 To 10
            Worksheets("Tabelle2").Cells(iCounter, iCol).Value = ListBox9.List(iRow, iCol - 1)
         Next iCol
      End If
   Next iRow
End Sub



Schö nen Nachmittag noch

josef


Beiträge aus den Excel-Beispielen zum Thema "Mit Multiselect in ListBox Auswahl treffen u......"