Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
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

Anzeige in ComboBox unvollständig

Anzeige in ComboBox unvollständig
19.05.2021 18:15:51
reiner
Hallo Leute,
https://www.herber.de/bbs/user/146279.xlsb
die ComboBox in der UF wird beim Öffnen der Datei befüllt.
Wenn ich KEINEN Eintrag auswähle, sollte in der CB der Eintrag "Startort" -und "Zielort" angezeigt werden.
Jetzt wird aber nur "Startort" angezeigt, welche Einstellung der CB verhindert die Anzeige des "Zielortes"?
Bei Anwahl einer der angezeigten Flugstrecken soll natürlich diese Verbindung angezeigt werden.
Wie können die Leerzeilen in der CB verhindert werden; die Leerzeilen in der Tabelle sollten jedoch erhalten bleiben?
mfG
reiner

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzeige in ComboBox unvollständig
19.05.2021 18:38:50
Beverly
Hi Reiner,
verwende anstelle der ComboBox eine ListBox - dann werden beide Spalten dargestellt. Und benutze eine If-Anweisung, um nur die belegten Zeilen einzutragen:

Private Sub UserForm_Initialize()
letztezeile = ActiveSheet.Cells(Rows.Count, 12).End(xlUp).Row
For Umlauf = 2 To letztezeile
' nur wenn die laufende Zelle in Spalte 12 nicht leer ist
If Sheets("Tabelle1").Cells(Umlauf, 12)  "" Then
lbFlugroute.AddItem
N = lbFlugroute.ListCount - 1
lbFlugroute.List(N, 0) = Sheets("Tabelle1").Cells(Umlauf, 12) 'Spalte"L"
lbFlugroute.List(N, 1) = Sheets("Tabelle1").Cells(Umlauf, 14) 'Spalte"N"
End If
Next
End Sub

GrußformelBeverly's Excel - Inn
Anzeige
AW: Anzeige in ComboBox unvollständig
19.05.2021 18:58:56
reiner
Hallo Beverly,
das ist natürlich auch eine Möglichkeit der Darstellung in einer ListBox, danke für den Vorschlag.
Ich werde den Beitrag aber weiterhin als offen kennzeichenen, in der Hoffnung dass vielleicht doch noch jemand einen Vorschlag für die gewünshcte Darstellung in der CB unterbreitet; ich kann mich erinnern -vor längerer Zeit- schon einmal eine derartige Lösung gesehen zu haben, ansonsten werde ich die ListBox einsetzen.
vielen Dank
reiner
AW: Anzeige in ComboBox unvollständig
19.05.2021 19:19:45
Beverly
Hi Reiner,
da irrst du dich sicher - in einer mehrspaltigen ComboBox wird immer nur 1 Spalte angezeigt, und zwar diejenige, welche als BoundColumn festgelegt ist.

GrußformelBeverly's Excel - Inn
Anzeige
AW: Anzeige in ComboBox unvollständig
19.05.2021 19:29:57
Yal
Hallo Reiner,
wenn ich deine Erinnerung helfen kann, handelte es sich um ein Listbox und nicht um eine ComboBox.
Du kannst in der ComboBox mit den Eigenschaft TextColumn bewirken, dass entweder die erste oder die zweite Spalte gezeigt wird aber nicht beide.
Es liegt daran, dass eine ComboBox eine Editierung der Eintrag erlauben kann. Bei einem zwei-spaltigen Eintrag kann es nicht gehen.
Ein Listbox wiederum, listet nur. Und kann daher mehrere Spalten auflisten.
Un andere in UserForm_Initialize den

letztezeile = ActiveSheet.Cells(Rows.Count, 12).End(xlUp).Row
in

letztezeile = Worksheets("Tabelle1").Cells(99999, 12).End(xlUp).Row
Rows.Count ist kontextlos.
Und ActiveSheet ist nicht genau genug, um zuverlässig zu sein.
VG
Yal
Anzeige
hallo Yal und Beverly
19.05.2021 20:11:37
reiner
...ich akzeptiere natürlich eure Rückmeldungen und nehme zur Kenntnis dass meine Vorstellung so nicht realisiernar ist.
Allerdings habe ich die angesprochene Datei nach intensiver Suche wiedergefunden und den betreffenden CB-Programmcode in die Beispieldatei eingefügt:
https://www.herber.de/bbs/user/146281.xlsb
Zugegeben, die Vorgehenesweise zum Befüllen der CB ist hier eine andere, aber im Ergebnis erziele ich die gewünschte Lösung;, die Darstellung in der aufgeklappten CB ist gewöhnungsbedürftig und auch die Leerzeilen werden sich wohl verhindern lassen.
vielen Dank für eure Erklärungen
reiner
Anzeige
Vielen Dank für die Rückmeldung.
19.05.2021 21:05:16
Yal
Hallo Reiner,
ja, in dem Beispiel werden die Einträge in eine einzige String zusammengefasst, sodass der Combobox damit zurecht kommt.
Dann ist die Mehrspaltigkeit in der CB nicht mehr notwendig.
Wenn Du keine eigene Eingabe in dieser Auswahlfenster vorhast, würde ich auf dem Listbox umstellen. So kannst Du leichter die getrennte Start- und Zielort handeln.
In dem "Ein-String-CB" muss Du den Eintrag am Komma splitten und glätten (VBA: Trim)

Option Explicit
Private Sub UserForm_Initialize()
Dim Z As Range
With Worksheets("Tabelle1")
For Each Z In .Range(.Range("L2"), .Range("L99999").End(xlUp)).Cells
If (Z.Value & Z.Offset(0, 2))  "" Then
frmUF1.cboFlugroute.AddItem Z.Value & ",   " & Z.Offset(0, 2).Value
End If
Next
Me.cboFlugroute.Value = Me.cboFlugroute.Column(0, 0)
End With
End Sub
Private Sub cboFlugroute_Change()
Dim Start As String
Dim Ziel As String
Start = Trim(Split(Me.cboFlugroute.List(Me.cboFlugroute.ListIndex), ",")(0))
Ziel = Trim(Split(Me.cboFlugroute.List(Me.cboFlugroute.ListIndex), ",")(1))
MsgBox "Start: """ & Start & """" & vbCr & "Ziel: """ & Ziel & """"
End Sub
Die Leerzeilen sortierst Du mit einem "nicht-leer"-Test auf Lx & Nx aus.
VG
Yal
Anzeige
AW: hallo Yal und Beverly
19.05.2021 21:41:01
Beverly
Hi Reiner,
dass du beide "Spalten" angezeigt bekommst hängt AUSSCHLIESSLICH damit zusammen, dass beide Spalten des Tabellenblattes bereits per Code zusammengefügt und in die EINE Spalte der CombobBox eingelesen werden. Diese ANZEIGE hat also nichts damit zu tun, dass ZWEI Spalten ausggeben werden!!

GrußformelBeverly's Excel - Inn
Anzeige
AW: hallo Yal und Beverly
25.05.2021 09:18:11
Herbert_Grom
Hallo Karin,
manchmal ist es schon lustig, wenn das Ei mehr wissen will, als die Henne, um mal dieses Sprichwort zu bemühen. Da fragt einer und man hilft ihm. Doch er weiß es besser, weiß aber nicht was! Ab und zu braucht man schon eine Engelsgeduld, um jemandem helfen zu dürfen! Ich habe auch gerade so einen Kandidaten, von hier, aus dem Forum, mit dem ich seit 4 Wochen hin und her schreibe, da er ständig etwas anderes will, als er vorher gesagt hat und dann dabei wieder die Hälfte vergisst mitzuteilen! Ich wundere mich über mich selbst, dass ich ihm immer noch antworte. Aber ich will es selbst auch zu Ende bringen, da ich es hasse, auf halbem Wege stehen zu bleiben. Man braucht aber schon gute Nerven!
Schöne Woche!
Servus
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige