Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1116to1120
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
Listbox Daten einlesen
walli
Guten Tage zusammen,
habe folgendes Problem:
Ich möchte gern auf einer UF in einer Listbox1 +2 Daten einlesen.
In der Tabelle "Test" befinden sich jede Menge Texte und immer daneben in der Spalte eine Zahl.
Vor dem Text steht immer eine Kennung z.b. "c" 1 bis 3 Buchstaben, z.b. "cfw" dann sollten die
Werte neben dem cfw + daneben die Ziffer in der Listbix1 + 2 angezeigt werden. bis kein cfw vorhanden ist.
In einer Textbox über die Listbox 1 habe ich die Textbox für die Eingabe der Buchstaben.
Beispiel:
Irgendwo in der Tabelle,
cfw wwww 707.125
cfw fff 852.123
cfw ggg 111.452
cfw hhh 123.789
jetzt sollte in der Listbox1: www und in der nächsten Listbox2: 707.125 angezeigt werden.
mfg Walli
PS.:
Bereich komplett ist von A4 derzeit bis Spalte F200
Listbox Daten einlesen - Verständnisfrage
11.11.2009 17:02:21
fcs
Hallo Walli,
irgendwie blick ich aus deiner Beschreibung nicht durch, wie die Daten im Bereich A4:F200 stehen.
Gruß
Franz
so - schön in 3 Spalten ?
Spalte A	Spalte B	Spalte C
cfw	wwww	707.125
cfw	fff	852.123
cfw	ggg	111.452
cfw	hhh	123.789
oder so - schön in 2 Spalten?
Spalte A	Spalte B
cfw wwww	707.125
cfw fff	852.123
cfw ggg	111.452
cf hhh	123.789
k hhh	123.789
oder so - über die Spalten verteilt ?
Spalte A	Spalte B	Spalte C	Spalte D	Spalte E	Spalte F
cfw wwww	707.125
cfw fff	852.123
cfw ggg	111.452		cfw ggg	111.452
cfw hhh	123.789		cfw hhh	123.789
cfw ggg	111.452
cfw hhh	123.789
cfw ggg	111.452
cfw hhh	123.789

Anzeige
Muster ist unterwegs...
11.11.2009 17:05:15
walli
Hallo Franz,
habe ich mir gedacht, deswegen mal ein Muster erstellt.
mfg walli
AW: Muster ist unterwegs...
12.11.2009 00:33:15
fcs
Hallo Walli,
ich hab dir in dein Userform mal eine entsprechende Prozdur eingefügt.
Da wesentlich schöner zu handhaben wird das Kürzel per Combobox eingegeben/ausgewählt.
Die Auswahlliste der Combobox ist im Blatt "Auswahllisten" angelegt. Dort müssen dann auch alle Kürzel auftauchen, die du in den Spalten A und D im Blatt Baumuster verwendest. Außerdem kann man so schön die Modellreihe im UF mit einblenden/anzeigen.
https://www.herber.de/bbs/user/65790.xls
Gruß
Franz
Anzeige
Super Danker noch eine Frage
12.11.2009 08:36:10
walli
Guten Morgen Franz,
das ist einfach Spitze, Danke.
Frage:
Kann man auch das Baumuster in die rechte TB
eingeben u. danach wird der Typ angezeigt ?
Geht das ?
mfg Walli
AW: Super Danker noch eine Frage
12.11.2009 12:20:11
fcs
Hallo walli,
auch das ginge. Dann muss man in den Spalten B und E nach den Baumuster suchen und den Wert der Combobox auf den Inhalt der Zelle links von der Fundstelle setzen.
Leider erschwert der von dir um die Textboy angelegte Rahmen die Programmierung. Man muss das Exit-Frame-Ereignis auswerten, statt Exit-Textbox-Ereignis. Du solltest also ggf. auf den Zierrat mit dem Rahmen um die einzelnen Steuerelemente verzichten.
Gruß
Franz
Eine entsprechende Prozedur schaut wie folgt aus, wobei du die Nummer des Frames ggf. anpassen muss.
Private Sub Frame3_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'mit Rahmen um Box
'Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)'ohne Rahmen um Box
Dim Spalte As Long, Zeile As Long, Zelle As Range
With wksBaumuster
Spalte = 2 'Spalte B vergleichen mit Textboxeintrag
For Zeile = 4 To .Cells.SpecialCells(xlCellTypeLastCell).Row
Set Zelle = .Cells(Zeile, Spalte)
If LCase(Trim(Zelle.Text)) = LCase(Trim(Me.TextBox2.Text)) Then
Me.ComboBox_Typ = Zelle.Offset(0, -1).Text
Exit Sub
End If
Next
Spalte = 5 'Spalte E vergleichen mit Comboboxauswahl
For Zeile = 4 To .Cells.SpecialCells(xlCellTypeLastCell).Row
Set Zelle = .Cells(Zeile, Spalte)
If LCase(Trim(Zelle.Text)) = LCase(Trim(Me.TextBox2.Text)) Then
Me.ComboBox_Typ = Zelle.Offset(0, -1).Text
Exit Sub
End If
Next
End With
End Sub

Anzeige
Leider keine Reaktion
12.11.2009 14:24:17
walli
Hallo Franz,
habe die Textbox allein gesetzt, leider keine Reaktion.
Habe natürlich die obere Zeile deaktiviert.
mfg Walter
AW: Leider keine Reaktion
12.11.2009 17:13:31
fcs
Hallo walli,
die Reaktion kommt erst dann wenn du per Tab die Textbox verläßt oder mit der Maus ein anderes Element wählst.
Gruß
Franz
AW: Leider keine Reaktion
13.11.2009 14:42:48
walli
Hallo Franz,
tut mir leid keine Reaktion.
Wenn ich das Baumuster in die Textbox2 eingebe u. ich verlasse die Textbox2
mit TAB oder auch ENTER, es tut sich nicht.
mfg Walli
Noch eine Frage, wenn nichts drin steht
12.11.2009 09:23:17
walli
Hallo Franz,
wenn ich die Buchstaben in der Combobox lösche, kommt
Fehlermeldung.
Kann man auch löschen über Button ?
mfg walli
Anzeige
AW: Noch eine Frage, wenn nichts drin steht
12.11.2009 11:22:08
fcs
Hallo walli,
mit folgender Anpassung kommt keine Fehler-Meldung mehr.
Private Sub ComboBox_Typ_Change()
Dim Spalte As Long, Zeile As Long, Zelle As Range
With Me.ComboBox_Typ
If .ListIndex = -1 Then
Me.Label_Type.Caption = "Type"                    '##### ändern!!
Me.ListBox1.Clear
Else

mit folgender Anpassung wird auch die Typenliste zurückgesetzt.
'- vk namen löschen --------------
Private Sub CommandButton3_Click()
Me.TextBox2 = ""
Me.ComboBox_Typ.ListIndex = -1       '##### einfügen!
Dim z As Long
Range("J2").Select
z = Range("J2").End(xlDown).Row
ActiveSheet.Range(Cells(2, 10), Cells(z, 14)).Select
'Range("A2:BM500").Select
Selection.Sort Key1:=Range("J2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("J2").Select
End Sub

Gruß
Franz
Anzeige
Das klappt Danke
12.11.2009 14:30:26
walli
Hallo Franz,
das ist i.o.
mfg walli
Wenn ich
13.11.2009 14:46:28
walli
Hallo Franz,
wenn ich die Combox lösche und will wieder raus kommt Fehlermeldung:
"Ungültiger Eigenschaftswert"
mfg walli
AW: Wenn ich
15.11.2009 12:44:12
fcs
Hallo Walli,
die Eigenschaft "MatchRequired" der Combobox steht auf "True".
Wenn du die Combobox ohne Auswahl lassen möchtest dann im UF-Editor die Eigenschaft "MatchRequired" der Combobox steht auf "False" setzen.
Dann kannst du auch unzulässige Einträge (und Leerlassen ist einer davon) machen.
Alternativ kannst du auch einfach auf "Typenliste löschen" klicken, wenn du eine bestehende Auswahl abbrechen willst.
Gruß
Franz
Anzeige
Danke i.o. aber Textbox2 Eingabe...
16.11.2009 15:32:15
walli
Hallo Franz,
habe mal rumgestöbert u. das gefunden.
Wenn ich jetzt in der Textbox2 ein Baumuster eingebe, werden alle
Baumuster aufgelistet, die entsprechend mit der Ziffer anfangen.
Wenn ich jetzt z.b. 2 eingebe kommen alle mit Baumuster 204...
das ist soweit GUT aber ich brauch davor noch den Typ also Spalte "B"
krieg das nicht hin.
Ich hoffe Du kannst helfen,
herzlichst walli.
Dim arr() As Variant
Dim index As Long, iCount As Long
Dim B As Long
B = IIf(IsEmpty(Range("B65536")), Range("B65536").End(xlUp).Row, 65536)
X = IIf(IsEmpty(Range("C65536")), Range("C65536").End(xlUp).Row, 65536)
If TextBox2.Value = "" Then
ListBox1.RowSource = "B4:B" & X
Exit Sub
End If
ListBox1.RowSource = ""
ListBox1.Clear '!!! hiermit geleert
For index = 4 To X
If LCase(Left(Cells(index, 3), Len(TextBox2))) = LCase(TextBox2) Then
If Sheets("Baumuster").Cells(index, 3) "" Then
On Error Resume Next
ReDim Preserve arr(0, 0 To iCount)
arr(0, iCount) = Cells(index, 3)
iCount = iCount + 1
ListBox1.Column = arr
End If
End If
Next
Anzeige
AW: Danke i.o. aber Textbox2 Eingabe...
16.11.2009 23:26:55
fcs
Hallo Walli,
das Mischen der Verwendung von RowSource- und AddItem-Methode für das Füllen der Auswahllisten ist suboptimal. Ich hab die Prozeduren deshalb so umgestellt, dass immer die AddItem-Methode bzw. das Zuweisen der Daten zur Liste via Array für Listbox1 benutzt wird.
Da sich die Auswahlen der Daten in der Combobox_Type, Listbox1 und Textbox2 gegenseitig beeinflussen musste ich verschiedene Prozeduren anpassen, damit es rund läuft. In einigen "nur" ein paar Zeilen und die TextBox2_Change komplett mit Verwendung des von dir gewählten Lösungsweges.
Gruß
Franz
Hier der Code der angepassten Prozeduren als Textdatei
https://www.herber.de/bbs/user/65962.txt
Anzeige
Danke das reicht so --))
17.11.2009 13:11:40
walli
Hallo Franz,
ganz herzlichen Dank für die Geduld und Unterstützung,
herzlichen Dank,
mfg Walli

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige