Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Combobox per VBA Wert zuweisen?

Forumthread: Combobox per VBA Wert zuweisen?

Combobox per VBA Wert zuweisen?
30.12.2002 09:40:42
Russi
Hallöchen!

Ich stehe mal wieder auf dem Schlauch und hoffe auch Eure Hilfe...

Ich habe in einer Excel-Tabelle eine Combobox mit Namen "StatistikRB.RBAuswahlListbox". Die anzuzeigenden Werte der Combobox zieht sich excel aus dem Zellbereich "StatistikGesamt!B5:B20".

Ich möchte nun aus einem Makro einer anderen Tabelle meiner "RBAuswahlListbox" einen Wert zuweisen, bspw. mit
Let StatistikRB.RBAuswahlListbox = "Russi"

Ich erhalte immer die Meldung, daß die Value-Eigenschaft nicht gesetzt werden konnte. Was mache ich falsch?!?

Bin für jeden Ratschlag dankbar!!!

Russi

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Combobox per VBA Wert zuweisen?
30.12.2002 09:46:57
Hajo
Hallo Russi

ich bin nun nicht der Fachmann für Steuerelemente in der Tabelle. Ist der Combobox mit ListFillRange ein bestimmter Bereich der Tabelle zugewiesen, bekommst Du ihr keine anderen Werte zugewiesen.

Gruß Hajo

Re: Combobox per VBA Wert zuweisen?
30.12.2002 09:58:06
Russi
Hallo Hajo!!!

Wenn hier jemand zu den Spezialisten zählt, dann bist das ja wohl Du (ohne die anderen Teilnehmer beleidigen zu wollen!!!)

Wenn ich meiner Combobox schon keinen vom ListFillRange ABWEICHENDEN Wert zuweisen kann, kann ich denn meiner Combobox irgendwie per Makro einen Wert aus dem ListFillRange zuweisen?!?

(Bspw. StatistikRB.RBAuswahlListbox = StatistikGesamt!B5)

Oder ist auch das ausgeschlossen?

Anzeige
Re: Combobox per VBA Wert zuweisen?
30.12.2002 10:09:25
Hajo
Hallo Russi

excel ist ein umfangreiches Programm und vielleicht behersche ich 50%. Mein Fachgebiet ist aber mehr Userformen und Makros. Ich habe aber asauch schon ab und zu versucht Lösungen für Steuerelemente in der Tabelle zu erstellen. Ich vermute mal Dein Code müßte ungefähr so aussehen, wobei die Fachleute es wohl noch kürzer hinbekommen.

Gruß Hajo

Anzeige
Re: Combobox per VBA Wert zuweisen?
30.12.2002 11:09:21
Russi
Hallo Hajo!

Ich hab mich da jetzt mal durchgeknuspert. Leider funzt das nicht so richtig. Bei mir sieht das ganze so aus:

Worksheets("Statistik RB").OLEObjects("RBAuswahlListbox").Object.Value = _
Worksheets("Statistik Gesamt").Range("B6")

Ich bekomme immer die Fehlermeldung, daß die Objektvariable nicht festgelegt ist. Bei Eingabe der Zeile im Direktfenster wird mir gesagt, daß die OLEObjects-Eigenschaft des Worksheet-Objektes nicht zugeordnet werden kann.

Ich glaube, auf dem Wege komme ich nicht weiter. Also wenn Dir (oder jemand anderem) hier nichts mehr zu einfällt, muß ich einen anderen Weg versuchen.

Vielen Dank auf jeden Fall für die Mühe!

Russi

Anzeige
Zur Laufzeit nicht möglich.
30.12.2002 11:25:17
Ramses
Hallo Russi,

Steuerelemente aus der Symbolleiste Formular unterstützen keine Änderungen zur Laufzeit !!
Du kannst nur indirekt darauf einwirken, dass du den Inhalt der verknüpften Zellen änderst, aber die Eigenschaften kannst du zur Laufzeit nicht ändern.

Tip:
Verwende Objekte aus der Symbolleiste Steuereelemente Toolbox.

Diese können, teilweise, zur Laufzeit geändert werden.
Für die Listbox lautet die Anweisung dann:

ActiveSheet.OLEObjects("ListBox1").Listfillrange = "B1:B10"

um einen anderen Zellbereich zur Anzeige zuzuweisen.

Gruss Rainer

Anzeige
Re: Zur Laufzeit nicht möglich.
30.12.2002 12:00:22
Russi
Schade, aber danke für den Tip! Ich werd mal gucken, was ich draus machen kann!

Russi

Re: Zur Laufzeit nicht möglich.
30.12.2002 12:16:02
Hajo
Hallo Rainer

von Steuerelemnte Toolbox gehe ich grundsätzlich aus.
In meinem Beispiel hatte ich auf dem einen Register die Combobox angeordnet und einen Bereich aus dieser Tabelle zugewiesen. In diesem Bereich war der Buchstabe "F".
In der anderen Tabelle hatte ich einen CommandButton und mit dem Code Worksheets("ComboBoxen füllen").OLEObjects("Combobox1").Object.Value = Worksheets("Checkbox Options").Range("A7")

eine Auswahl in der Combobox getroffen. In der Zelle A7 stand der Buchstabe "F"

Habe ich da die Aufgabe Falsch verstanden?? Weil Du schreibst zur Laufzeit nicht möglich.

Russi wollte doch eine Wert aus der Liste auswählen.

Gruß Hajo

Anzeige
Re: Zur Laufzeit nicht möglich.
30.12.2002 12:22:41
Ramses
Hallo Hajo,

Bei den Formular-Steuerelementen ist grösstenteils, eigentlich fast immer, zur Laufzeit keine Änderung der Eigenschaften mehr mötlich.

Ich wollte deshalb bloss noch die zusätzliche Information ( Toolbox )einbringen, weil ich nicht wusste, welche Steuerelemente er tatsächlich verwendet, und habe das Beispiel mit der Listbox gebracht, weil er einmal von einer Combobox sprach und diese als Listbox benannt war.

Da war ich etwas irritiert :-)

Gruss Rainer

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Werte in einer Excel Combobox per VBA zuweisen


Schritt-für-Schritt-Anleitung

Um Werte in einer Excel Combobox per VBA zuzuweisen, folge diesen Schritten:

  1. Öffne die Excel-Datei und wechsle in den Visual Basic for Applications (VBA) Editor.

  2. Füge ein Modul hinzu, indem du im Projekt-Explorer mit der rechten Maustaste auf "VBAProject (dein Arbeitsblattname)" klickst und dann "Einfügen" > "Modul" wählst.

  3. Gib den folgenden Code ein, um der Combobox einen Wert zuzuweisen:

    Sub WertZuweisen()
       Dim ws As Worksheet
       Set ws = Worksheets("Statistik RB") ' Name des Arbeitsblatts anpassen
       ws.OLEObjects("RBAuswahlListbox").Object.Value = ws.Range("B6").Value ' Zelle anpassen
    End Sub
  4. Führe das Makro aus, um den Wert der Zelle B6 in die Combobox zu übertragen.


Häufige Fehler und Lösungen

  • Fehler: "Die Value-Eigenschaft konnte nicht gesetzt werden."

    • Lösung: Überprüfe, ob die Combobox mit einem ListFillRange verknüpft ist. Wenn ja, kannst du nur Werte aus diesem Bereich zuweisen.
  • Fehler: "Die Objektvariable ist nicht festgelegt."

    • Lösung: Stelle sicher, dass der Name der Combobox und das Arbeitsblatt korrekt angegeben sind.
  • Hinweis: Bei Formular-Steuerelementen kannst du die Eigenschaften zur Laufzeit nicht ändern. Verwende die Steuerelemente aus der Toolbox für mehr Flexibilität.


Alternative Methoden

Wenn du die Werte in einer Excel Combobox oder einem Dropdown-Menü ändern möchtest, gibt es alternative Methoden:

  1. Verwendung von Dropdown-Listen: Du kannst eine Excel Dropdown-Liste erstellen und die Zellen verknüpfen, um Werte dynamisch zu ändern.
  2. UserForms: Erstelle ein UserForm, um die Benutzeroberfläche zu erweitern und bessere Steuerungsmöglichkeiten zu haben.

Praktische Beispiele

Hier sind einige Beispiele zur Verwendung von Excel Comboboxen:

  1. Wert aus einer Dropdown-Liste zuweisen:

    Worksheets("Statistik RB").OLEObjects("RBAuswahlListbox").Object.Value = "Russi"
  2. Werte aus einem Zellbereich zuweisen:

    Worksheets("Statistik RB").OLEObjects("RBAuswahlListbox").ListFillRange = "StatistikGesamt!B5:B20"

Tipps für Profis

  • Nutze With-Anweisungen, um den Code zu optimieren und lesbarer zu gestalten:

    With Worksheets("Statistik RB").OLEObjects("RBAuswahlListbox").Object
      .Value = Worksheets("Statistik Gesamt").Range("B6").Value
    End With
  • Achte darauf, dass die Werte, die du zuweist, im ListFillRange der Combobox vorhanden sind, um Fehler zu vermeiden.


FAQ: Häufige Fragen

1. Kann ich einer Combobox einen Wert außerhalb des ListFillRange zuweisen? Nein, das ist nicht möglich, wenn die Combobox mit einem ListFillRange verknüpft ist.

2. Was sind die Unterschiede zwischen Formular-Steuerelementen und ActiveX-Steuerelementen? Formular-Steuerelemente erlauben keine Änderungen zur Laufzeit, während ActiveX-Steuerelemente mehr Flexibilität bieten und zur Laufzeit angepasst werden können.

3. Wie kann ich den Wert einer Dropdown-Liste in Excel ändern? Du kannst den Wert einer Dropdown-Liste ändern, indem du die Zelle, die mit der Dropdown-Liste verknüpft ist, über VBA ansteuerst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige