Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1212to1216
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
Inhaltsverzeichnis

Werte aus Combobox

Werte aus Combobox
lothar.himpel@kaefer.com
Hallo zusammen
Ich hab' mal wieder ein Problem.
Eine ComboBox wird aus einem Tabellenblatt gefüllt,
in etwa so:
DN 15, s = 20 mm, L =1m
DN 150, s = 120 mm, L =10m
DN 1500, s = 250 mm, L =100 m
Die einzelnen Teile dieser Auflistungen sollen in ein anderes Blatt eingetragen werden.
ZB. Spalte A DN = ...(nur bis zum Komma)
Spalte B s = ..(nur nach Komma bis Komma)
Spalte C L = ...(nur ab Komma)
Meine Idee wäre ja vielleicht
s1 = Left(ComboBox1.Text, 5)
s2 = Mid(ComboBox1.Text, 8, 9)
s3 = Right(ComboBox1.Text, 6)
Funktioniert aber wegen der unterschiedlichen Anzahl der Zeichen nicht.
Kann man hier das Komma als Start und/oder Stop festlegen?
Wenn ja, wie?
Vielen Dank
Gruß Lothar

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Werte aus Combobox
19.05.2011 08:21:28
oberschlumpf
Hi Lothar
Man kann...
Schau dir mal die Split-Funktion an.
Ein Bsp:

Dim lstrSplit() As String, liIdx As Integer
lstrSplit = Split("DN 15, s = 20 mm, L =1m",",")
For liIdx = 0 To UBound(lstrSplit)
MsgBox lstrSplit(liIdx)
Next
Hilfts?
Ciao
Thorsten
AW: Werte aus Combobox
19.05.2011 09:51:51
Lothar
Hallo Thorsten,
vielen Dank für Deine Lösung.
Hab's allerdings noch nicht ausprobiert, weil ich als VBA Laie nicht so wirklich weiss, wo ich den Code einbauen muss.
Ich wollte eine Auflistung in der ComboBox markieren und mittels Button aufgesplittet in einem Blatt verteilen (vielleicht mit Select und Offset s1, s2, s3).
Z:B
Auswahl DN 150, s = 120 mm, L =10m
Aufteilung A1: DN 150
B1: s = 120
C1: L = 10m
vielleicht kannst Du mir da konkret auf die Sprünge helfen?
Danke Gruß Lothar
Anzeige
AW: Werte aus Combobox
19.05.2011 11:06:20
oberschlumpf
Hi Lothar
Dann zeig mir doch ne Bsp-Datei.
Wenn du nicht weißt, wie man eine Combobox einbaut, dann zeig wenigstens ein paar Zeilen mit den Werten, die du verwenden willst.
Ciao
Thorsten
AW: Werte aus Combobox
19.05.2011 11:48:52
Lothar
"a href="https://www.herber.de/bbs/user/74933.xls"
Hallo Thorsten,
ich weiß, glaube ich jedenfalls, wie man eine Combobox einbaut.
Ich weiß auch wie man komplette Werte irgendwohin sendet.
Mein Problem ist das Splitten bei unterschiedlicher Anzahl von Zeichen.
In dem Fall hier genau durch Kommas begrenzt.
Hab' mal ein Beispieldatei gebastelt(siehe Pfad oben) und denke die ist zum Verständnis sicher hilfreich.
bis dann
Gruß Lothar
Anzeige
AW: Werte aus Combobox
19.05.2011 11:56:59
Rudi
Hallo,
Mein Problem ist das Splitten 

Das geht mit Split. ;-)
Private Sub CommandButton1_Click()
Sheets("sheet1").Range("A1").Resize(, 3) = Split(ComboBox1, ",")
End Sub

Gruß
Rudi
AW: Werte aus Combobox
19.05.2011 12:25:09
Lothar
Hallo Rudi,
danke für Deinen Tip, allerdings war dann wohl meine Erklärung, incl. der Beispieldatei, etwas dürftig.
Die Userform enthält noch mehrere Combo-, Text- und Listboxes, deren Werte dann auf Blatt1 verteilt werden(s4 = TextBox4.Value; s5 = ComboBox16.Text usw.) , und alle mit dem gleichen Commandbutton. Bei den anderen Boxes ist das kein Problem, die Werte werden komplett übernomen,
nur die Werte aus der einen Box sollen aufgesplittet werden.
Außerdem werden die Werte nicht immer in die gleiche Zelle gepackt, sondern mit Offset(.., ..) auf die entsprechenden Zellen verteilt.
Wie könnte Ich Deinen Code ändern, daß das passt.
Gruß Lothar
Anzeige
AW: Werte aus Combobox
19.05.2011 12:54:59
Rudi
Hallo,
Private Sub CommandButton1_Click()
Sheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 3) _
= Split(ComboBox1, ",")
End Sub

Gruß
Rudi
AW: Werte aus Combobox
19.05.2011 13:24:40
Lothar
Hallo Rudi,
danke für Deinen überarbeiteten Code.
Hab' mal in der Testdatei probiert, funktioniert!
Was ist aber, wenn die einzelnen Splits nicht in A;B;C sonder zB. nach C;V;AA übertragen werden sollen ?
Wie kann man das machen, wenn eigentlich nur der erste oder zweite oder dritte Teil des gesamten Wertes eingetragen werden soll ?
Hat den Hintergrund daß beim Einlesen in die Combobox alle Teile nur als Info benötigt werden.
Auf dem Tabellenblatt wären das für den, der die Datei liest zu viele Informationen.
Gruß Lothar
Anzeige
AW: Werte aus Combobox
19.05.2011 14:39:47
Rudi
Hallo,
stell deine Frage doch gleich so, wie du es brauchst.
Private Sub CommandButton1_Click()
Dim vntTmp
vntTmp = Split(ComboBox1, ",")
With Sheets("sheet1")
'1.Teil nach C
.Cells(Rows.Count, 3).End(xlUp).Offset(1) = vntTmp(0)
'2.Teil nach V
.Cells(Rows.Count, 22).End(xlUp).Offset(1) = vntTmp(1)
'3.Teil nach AA
.Cells(Rows.Count, 27).End(xlUp).Offset(1) = vntTmp(2)
End With
End Sub

Gruß
Rudi
AW: Werte aus Combobox
19.05.2011 16:08:24
Lothar
Hallo Rudi,
Danke Für Deine Hilfe, so klappt's prima.
Gruß Lothar

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige