Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Listbox Wert in Zelle Schreiben

Listbox Wert in Zelle Schreiben
16.08.2016 23:00:27
Ben
Ich will aber auch die andere Spalte der Listbox ein die ausgewählte Zelle einfügen.
Bekomm nur Auftrags.Nr , will aber noch den Text dazu.
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer
Dim strAuswahl As String
For i = 0 To ListBox1.ListIndex
If ListBox1.Selected(i) Then
If strAuswahl = "" Then
strAuswahl = ListBox1.List(i)
Else
strAuswahl = strAuswahl & ";" & ListBox1.List(i)
End If
End If
Next i
ActiveCell = strAuswahl
Unload Me
End Sub

Private Sub UserForm_Initialize()
With ListBox1
.ColumnCount = 4
.ColumnWidths = "7cm;3cm;3cm;3cm"
.ColumnHeads = True
ListBox1.RowSource = "Aufträge!A2:D9999"
End With
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Listbox Wert in Zelle Schreiben
17.08.2016 06:04:41
Hajo_Zi
nach folgendem Prinzip
TextBox1 = ListBox1.List(ListBox1.ListIndex, 0)
TextBox2 = ListBox1.List(ListBox1.ListIndex, 1)
TextBox3 = ListBox1.List(ListBox1.ListIndex, 2)
TextBox4 = ListBox1.List(ListBox1.ListIndex, 3)
TextBox5 = ListBox1.List(ListBox1.ListIndex, 4)
TextBox6 = ListBox1.List(ListBox1.ListIndex, 5)
TextBox7 = ListBox1.List(ListBox1.ListIndex, 6)

Anzeige
AW: Listbox Wert in Zelle Schreiben
17.08.2016 08:10:40
Ben
Ja aber in meinem Fall weiß ich nicht wo ich das reinschreiben muss in meinem code Beispiel?
AW: Listbox Wert in Zelle Schreiben
17.08.2016 09:28:00
Ben
ich habe es hinbekommen....
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer
Dim strAuswahl As String
For i = 0 To ListBox1.ListIndex
If ListBox1.Selected(i) Then
If strAuswahl = "" Then
strAuswahl = ListBox1.List(i, 0) & ";" & ListBox1.List(i, 1)
Else
strAuswahl = strAuswahl & ";" & ListBox1.List(i, 0)
strAuswahl = strAuswahl & ";" & ListBox1.List(i, 1)
End If
End If
Next i
ActiveCell = strAuswahl
End Sub

Anzeige
AW: Listbox Wert in Zelle Schreiben
17.08.2016 16:29:14
Hajo_Zi
für
& ListBox1.List(i)
musst du das entsprechende schreiben, vielleicht auch mehrmals falls mehrer Spalten.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original.
Der Name einer hochgeladenen Mappe wird im Beitrag automatisch angezeigt, sodass es bei Verwendung von aussagekräftigen Namen leichter fällt, sie später im Ablageordner wiederzufinden und sie gedanklich einem bestimmten Thema zuzuordnen. Namen wie Test, Mappe, Beispiel usw. sind so allgemein, dass eine Zuordnung zu einem Thema unmöglich gemacht wird.

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte aus einer Listbox in Zellen schreiben


Schritt-für-Schritt-Anleitung

  1. UserForm erstellen: Öffne Excel und gehe in den VBA-Editor (Alt + F11). Füge eine neue UserForm hinzu.

  2. ListBox hinzufügen: Ziehe eine ListBox auf die UserForm. Stelle sicher, dass die ListBox die gewünschten Spalten anzeigt.

  3. VBA-Code einfügen: Füge den folgenden Code in die UserForm ein, um die ListBox mit Werten zu füllen und die Werte in die aktive Zelle zu übertragen:

    Private Sub UserForm_Initialize()
       With ListBox1
           .ColumnCount = 4
           .ColumnWidths = "7cm;3cm;3cm;3cm"
           .ColumnHeads = True
           .RowSource = "Aufträge!A2:D9999"
       End With
    End Sub
    
    Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
       Dim i As Integer
       Dim strAuswahl As String
       For i = 0 To ListBox1.ListIndex
           If ListBox1.Selected(i) Then
               If strAuswahl = "" Then
                   strAuswahl = ListBox1.List(i, 0) & ";" & ListBox1.List(i, 1)
               Else
                   strAuswahl = strAuswahl & ";" & ListBox1.List(i, 0) & ";" & ListBox1.List(i, 1)
               End If
           End If
       Next i
       ActiveCell = strAuswahl
       Unload Me
    End Sub
  4. ListBox testen: Schließe den VBA-Editor und teste die UserForm in Excel.


Häufige Fehler und Lösungen

  • Fehler: ListBox zeigt keine Daten an: Überprüfe die RowSource-Eigenschaft und stelle sicher, dass der Bereich korrekt ist.

  • Fehler: Werte werden nicht in die Zelle geschrieben: Stelle sicher, dass die Zelle aktiv ist, bevor du die UserForm öffnest.

  • Fehler: ListBox ist leer: Prüfe, ob die Spaltenanzahl (ColumnCount) und die Spaltenbreiten (ColumnWidths) korrekt festgelegt sind.


Alternative Methoden

Eine weitere Möglichkeit, Werte aus einer ListBox in Zellen zu schreiben, ist die Verwendung von ComboBoxen. Der Code ist ähnlich, aber die Auswahl wird in einer einzelnen Zelle angezeigt, anstatt mehrere Werte zusammenzuführen.


Praktische Beispiele

Hier ist ein Beispiel, wie du die Auswahl einer ListBox mit mehreren Spalten in einer Zelle speichern kannst:

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Dim strAuswahl As String
    strAuswahl = ListBox1.List(ListBox1.ListIndex, 0) & ";" & ListBox1.List(ListBox1.ListIndex, 1)
    ActiveCell = strAuswahl
End Sub

Verwende den Code, um die Auswahl beim Doppelklick auf die ListBox in die aktive Zelle zu schreiben.


Tipps für Profis

  • Datenvalidierung: Verwende Datenvalidierung in den Zellen, um sicherzustellen, dass die Eingaben korrekt sind.

  • Design der UserForm: Achte darauf, dass die UserForm benutzerfreundlich gestaltet ist. Verwende klare Beschriftungen und ansprechende Farben.

  • Code kommentieren: Kommentiere deinen VBA-Code, um die Wartung und das Verständnis zu erleichtern.


FAQ: Häufige Fragen

1. Wie viele Spalten kann die ListBox anzeigen? Die ListBox kann bis zu 255 Spalten anzeigen. Achte darauf, dass du die ColumnCount entsprechend einstellst.

2. Kann ich die ListBox mit externen Datenquellen verbinden? Ja, du kannst die ListBox mit externen Datenquellen verbinden, indem du die RowSource-Eigenschaft anpasst.

3. Wie kann ich den Code anpassen, um mehr Informationen zu speichern? Du kannst den Code erweitern, indem du weitere Spalten aus der ListBox in die Zelle überträgst, z.B. mit ListBox1.List(i, 2) usw.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige