Combobox mit Teilüberschriften
#1
Hallo liebe Forengemeinde.

Kann man in einer Combobox Teilüberschriften intigrieren?
Diese sollen nicht anklickbar sein.

RowSource kommt aus einer Tabelle.

Überschrift 1
aa
bb
cc
Überschrift 2
dd
ee
ff

usw.

Vielen Dank für Eure Auskunft!
Antworten Top
#2
Moin,

nur teilweise nicht anklickbare Einträge, das geht nicht. Allerdings könntest Du die Überschriften und die Detailangaben auf 2 Comboboxen aufteilen und je nach Überschriftauswahl in Box 1, nur die dazu passenden Details in einer 2. anzeigen lassen. Denkbar wäre auch, wenn Du nur eine Box verwenden willst, dass Du in in Abhängigkeit der Detailauswahl die dazu passende Überschrift z. Bsp. in einem Label anzeigen lässt. Oder dafür sorgst, dass bei Auswahl einer Überschrift halt nix passiert. Außer vielleicht eine Msgbox mit entsprechendem Hinweis... Doch die Auswahl selbst kannst Du damit nicht verhindern. Die Verknüpfung zwischen Überschrift und Details könntest Du bspweise über ein 2-dimensionales Array realisieren, dass Du in einer 2-spaltigen Box ausgeben lässt.

Bsp.:
Code:
Private Sub UserForm_Activate()
    FillThe2ColumnBox
End Sub

Private Sub FillThe2ColumnBox()
Dim arr(2, 3) As String
    Dim d1 As Byte, d2 As Byte

    arr(0, 0) = "Überschrift 1"
    arr(0, 1) = "Detail 1"
   
    arr(1, 0) = "Überschrift 2"
    arr(1, 1) = "Detail 2.1"
    arr(1, 2) = "Detail 2.2"
    arr(1, 3) = "Detail 2.3"
   
    arr(2, 0) = "Überschrift 3"
    arr(2, 1) = "Detail 3.1"

    With UserForm1.ComboBox1
        .Clear
        .Width = 200
        .ColumnCount = 2
       
        For d1 = 0 To UBound(arr, 1)
            .AddItem arr(d1, 0)
            For d2 = 1 To UBound(arr, 2)
'            Debug.Print d1, d2, "0,d1 " & arr(0, d1), "d1,d2 " & arr(d1, d2)
            If arr(d1, d2) <> "" Then
                .AddItem
                .List(.ListCount - 1, 1) = arr(d1, d2)
            End If
            Next d2
        Next d1
       
    End With
End Sub
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#3
Besser als Rowsource: .List=array( ... )
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#4
Erstmal vielen dank an alle.

So wie es scheint, ist eine reine Liste mit Überschriften nicht möglich.

Mehrdimensional kommt nicht infrage.
Antworten Top
#5
Hallo Andreas,
 
Lege 2 Comboboxen an --> die 1. Combobox füllst du mit Überschriften --> nach Auswahl der 1. Combobox (Überschriften) wird die 2. Combobox mit der dazugehörigen Auswahl abhängig gefüllt.
 
Wenn das jetzt alles aus einer Spalte passiert, was aus deinen Vorgaben sich so rausliest, kann man dies schon in der1. Combobox 2 spaltig anlegen.
 
Spalte 0 die Überschrift Spalte 1 als String mit Trenner die zur Überschrift gehörenden Werte.
Wird in Combobox1 eine Überschrift ausgewählt wird der String in Spalte 1 am Trenner gesplittet und du erzeugst ein Array zum Füllen der Liste der Combobox2.
 
Gruß Uwe
Antworten Top
#6
Wäre etwas umständlich.

Der Benutzer kann ja einbuchen oder ausbuchen klicken.

Im Anhang mal der screen.


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#7
...und was hat das Bild mit Deiner Frage zu tun?
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#8
So ist der Aufbau

um die Inhalte der Combobox zu trennen müsste ich ja 2 Userformen dafür erstellen, was recht umständlich ist.

Naja, werden mir was anderes einfallen lassen müssen.

Trotdem vielen Dank an Euch alle für eure Vorschläge
Antworten Top
#9
warum ein weiteres Userform?
 
Du brauchst nur eine 2. Combobox. Kompliziert ist das auch nicht, sondern eher simpel.
Hier mal ein Beispiel:

.xlsm   Comboboxen füllen.xlsm (Größe: 24,18 KB / Downloads: 1)
 
 
Gruß Uwe
Antworten Top
#10
Dass sieht richtig interresannt aus.

Werde ich morgen mal versuchen in die Userform einzubauen.

Danke
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste