2 ComboBoxen miteinander verknüpfen

  • VBScript

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von ko160207.

    2 ComboBoxen miteinander verknüpfen

    Hallo Leute,

    vorab ich bin noch ziemlich ein Neuling auf diesem Gebiet und kenne mich nicht sehr gut aus.

    Ich bin gerade dabei ein Outlook Formular zu erstellen.
    Habe folgende Situation:

    Ich habe mir zwei DropDown Felder hinzugefügt und sie mit Werten gefüllt.
    Jetzt möchte ich aber, dass wenn ich im ersten DropDown Feld etwas auswähle nicht alle Werte des zweiten DropDown Feldes angezeigt werden, sondern nur eine bestimmte begrenzte Anzahl an Werten, die ich vorher definiere

    z.B.
    1. DropDown (Obst, Gemüse)
    2. DropDown (Banane, Apfel, Kirsche, Gurke, Tomate, etc.)

    Ich wähle im 1. DropDown Obst aus und sehe dann im 2. DropDown nur die Werte Banane, Apfel und Kirsche.

    Wahrscheinlich ist das sehr schnell und einfach gemacht, aber wie gesagt ich kenne mich damit noch nicht so gut aus.

    Ich danke für eure Hilfen.
    Die ComboBoxen haben Events.
    Eines nennt sich glaube ich ComboBox_Changed.
    In diesem kannst du dann prüfen, welches Element in der ComboBox gewählt ist, und abhängig davon eine 2. ComboBox befüllen.

    Die Frage ist nur, wie gestaltest du die Verknüpfung.
    Möglich wäre dies zB via einem Dictionary.
    Dort setzt du als Schlüssel zB Gemüse oder Obst und als Value zB ein Array mit den Werten für ComboBox2.
    Das ist meine Signatur und sie wird wunderbar sein!
    Vielen Dank für deine Antwort.

    Ich habe nun in VBA eine UserForm mit 2 ComboBoxen erstellen können und auch die Change Funktion hinbekommen.

    Der Code sieht folgendermaßen aus:

    Private Sub ComboBox1_Change()

    ComboBox2.Clear

    Select Case ComboBox1.Value
    Case "Gemüse"
    ComboBox2.AddItem ("Gurke")
    ComboBox2.AddItem ("Tomate")
    Case "Obst"
    ComboBox2.AddItem ("Banane")
    ComboBox2.AddItem ("Apfel")

    End Select

    End Sub

    Private Sub UserForm_Click()

    ComboBox1.Clear

    ComboBox1.AddItem ("Gemüse")
    ComboBox1.AddItem ("Obst")

    End Sub



    Nun weiss ich leider nicht, wie ich diese UserForm in mein Outlook Formular hinein bekomme?

    Vielen Dank im Voraus
    Also mein Formular habe ich über das Entwicklertool --> Formular entwerfen erstellt und abgespeichert. Dafür brauchte ich noch kein Code. Hier habe ich meine zwei DropDowns erstellt mit denen ich aber noch nicht viel machen kann.

    Ich habe dann den Visual Basic Editor geöffnet und da rum probiert. Dort habe ich dann auch eine UserForm erstellt mit zwei DropDowns und den oben genannten Code geschrieben.

    Meine Frage war eben: Wie ich diese UserForm nun, welches ich in VBA erstellt habe in mein Outlook Formular Bereich bringe und das mit der Change Methode.

    Ich hoffe ich konnte so einigermaßen mein Anliegen erklären
    Hmm...

    Naja das war nur ein Beispiel. Müssen also keine Bananen sein:)

    In Screenshot_1 siehst du den Entwurfsmodus eines Formulars in Outlook 2007 (in Outlook 2010 ist es im Prinzip das gleiche). Hier kann man ja Felder über die Steuerelement-Toolbox hinzufügen. Dazu braucht man noch kein Code.
    Jedoch habe ich dann gemerkt, dass so keine ComboBox_Change(), erstellt werden kann. Deswegen habe ich mich an Visual Basic herangetastet, siehe Screenshot_2.
    Hier habe ich eine UserForm erstellt, wieder mit zwei ComboBoxen und dazu meinen Code geschrieben. So weit so gut. Das funktioniert auch, wenn ich das in VBA ausführe. Aber ich weiss jetzt leider nicht, wie ich diese zwei ComboBoxen in mein Formular (Screenshot_1) einfügen kann. Das sollte dann dort auch funktionieren.

    Ich hoffe jetzt ist es verständlich.
    Bilder
    • Screenshot_1.jpg

      415,92 kB, 1.250×1.024, 537 mal angesehen
    • Screenshot_2.jpg

      156,63 kB, 1.246×1.024, 545 mal angesehen