Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
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
Multiselect von Listbox in Textbox
03.12.2020 12:31:31
Listbox
Hallo zusammen,
mit folgendem Code lese ich die markierte Zeile einer Listbox aus und schreibe Sie in die Textbox.
Nun soll jedoch bei einer Mehrfachauswahl die markierten Daten der Listbox in einer Textbox hintereinander geschrieben
werden.
TextBox1 = Me.ListBox1.List(ListBox1.ListIndex, 0)
Wie könnte ich das umsetzen?
Ich finde nur Codes, die jede markierte Spalte in jeweils eine Zelle schreiben, nicht hintereinander.
Lieben Dank vorab.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Multiselect von Listbox in Textbox
03.12.2020 12:50:41
Listbox
Moin
Hier mit Button.
Private Sub CommandButton1_Click()
Dim i As Long
Dim strText As String
With ListBox1
.Clear
For i = 0 To .ListCount - 1
If .Selected(i) Then
strText = strText & .List(i) & "/"
End If
Next
End With
TextBox1 = Left(strText, Len(strText) - 1)
End Sub

gruss hary
AW: Multiselect von Listbox in Textbox
03.12.2020 12:55:28
Listbox
Hi Harry
Kleiner Optimierungsvorschlag:
Setze das Trennzeichen an den Anfang, dann lässt es sich leichter entfernen ohne LEN:
strText = strText & "/" & .List(i)
Textbox1.Text = Mid(strText, 2)
Gruß Daniel
Anzeige
AW:Stimmt Daniel gruss owT
03.12.2020 12:58:36
hary
.
AW: Multiselect von Listbox in Textbox
03.12.2020 13:03:32
Listbox
Vielen Dank Euch.
Funktioniert prima !
AW: Multiselect von Listbox in Textbox
03.12.2020 13:19:18
Listbox
Hallo Daniel, Hallo hary,
ich hab mir angewönt "überflüssige" Trenner erst gar nicht in den String aufzunehmen. Dann muss ich die auch nicht wieder entfernen.
For i = 0 To .ListCount - 1
If .Selected(i) Then
If strText = vbNullString Then
strText = .List(i)
Else
strText = strText & "/" & .List(i)
End If
End If
Next

Hab ich mir halt so angewöhnt, auch wenn es ein paar Zeilen Code mehr sind. Aber jeder nach seiner Fasson.
Gruß Werner
AW: Multiselect von Listbox in Textbox
03.12.2020 14:51:39
Listbox
Hi Werner
Ja, aber anstelle der einmalig ausgeführten einfachen Aktion baust du dir eine komplette If-Struktur ein, die dann such noch vielfach in einer Schleife ausgeführt wird.
Da ist das nachträgliche Entfernen eines Zeichens das wesentlich kleinere Übel.
Deinen Ansatz fahre ich dann, wenn ich weiß, welches das erste Element ist, dann kommt dieses als erstes in der Ergebnisstring ohne Trenner und die weiteren dann per Schleife mit Trenner:
strText = .List(0)
For i = 1 to .ListCount - 1
StrText = strText & "/" & .List(i)
Next
Textbox1.Text = strText
Aber sich eine IF-Abfrage in eine Schleife einzubauen um eine einzige Programmzeile einsparen zu können ist grober Unfug.
Gruß Daniel
Anzeige
@Daniel
03.12.2020 15:24:35
Werner
Hallo Daniel,
das tut mir jetzt aber auch weh.;-D
Vor allem, weil du natürlich recht hast.
Gruß Werner

279 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige