Hallochen allerseits, ich bastle grad an einer Combobox - 2 Spaltig. Die Eigenschaften BoundColumn und ColumnCount sind auf 2 gestellt. Hinter dem blau Markieren 1001 sollt "Umlagen" stehen - tut es aber leider nicht. Es handelt sich um die Combobox "Kontierung"
Code:
Private Sub UserForm_Initialize()
Dim lngZeileMax As Long
lngZeileMax = Range("Konten").Rows.Count
With Me.cbKonto
.RowSource = "Kontierung!B3:C" & lngZeileMax
.ListIndex = 0
.ListRows = lngZeileMax
.Font.Size = 10
End With
End Sub
Wo ist der Fehler?
Danke für jede Hilfe
und ein frohes Fest...
Stefan
Hallo,
nicht BoundColumn, TextColumn = 2 verwenden.
Gruß
Danke, wenn ich die Eigenschaft TextColumn = 2 setze dann wird nur die 2. Spalte angezeigt, aber nicht beide Spalten...und in der Hilfe bin ich auch nicht fündig geworden:
https://docs.microsoft.com/de-de/dotnet/...=vsto-2017
oder suche ich an der falschen Stelle?
Aber wenn ich statt einer ComboBox eine Listbox verwende ist das Problem gelöst, dann werden beide Werte aufgelistet und bei Click nur der Wert der ersten Spalte der Variablen zugewiesen... alles sehr mysteriös!
Vielleicht fällt uns noch was ein
Danke und ein frohes Fest
Stefan
PS.: Screenshots in den Beitrag einzubinden ist in diesem Forum nicht möglich?
Hallöchen,
Zitat:PS.: Screenshots in den Beitrag einzubinden ist in diesem Forum nicht möglich?
speicher den Shot und hänge ihn als Bild an. Beachte dabei die verschiedenen Buttons und Pfeile
Danke, das ist auch 'ne Lösung
Beim nächsten mal....
Stefan
Hallo,
beide Spalten gleichzeitig anzeigen geht in einer Combobox nicht. Was Du machen kannst, ist eine Spalte zu verwenden,
wo Du dann die Werte zusammensetzt und diese Spalte anzeigst. In einer versteckten Spalte legst Du den Wert ab,
den später woanders verwendet wird. Hier ein Beispiel:
Code:
Private Sub UserForm_Initialize()
Dim n As Long
Dim d As Variant
' Werte...
d = Range("Konten").Offset(0, 1).Resize(, 2).Value
' Einstellungen...
cbKonto.ColumnCount = 2
cbKonto.ColumnWidths = "0;"
cbKonto.Font.Size = 10
' Einlesen...
For n = LBound(d, 1) To UBound(d, 1)
cbKonto.AddItem
cbKonto.List(cbKonto.ListCount - 1, 0) = d(n, 1)
cbKonto.List(cbKonto.ListCount - 1, 1) = d(n, 1) & " - " & d(n, 2)
Next
' Index...
cbKonto.ListIndex = 0
MsgBox cbKonto.List(cbKonto.ListIndex, 0)
End Sub
Gruß
Reicht
Code:
Private Sub UserForm_Initialize()
cbKonto.List=Range("Konten").Value
End Sub
Die Eigenschaften der Combobox sollte man im Entwurf Modus erstellen und speichern:
columncount 2
columnwidth 30;30 oder columnwidth (leer)
Hallo, ich hab mich letztendlich für eine Listbox entschieden - die tut was sie solll. Ich muss nur noch bisschen an der Spaltenausrichtung arbeiten...
Danke
Stefan
Hallo,
@snb: nein, reicht nicht, wenn beide Spalten gleichzeitig als Wert angezeigt werden sollen. Aber StefKe hat sich ja nun für eine Listbox entschieden.
Gruß