Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ComboBox Wert setzen?

ComboBox Wert setzen?
thomas
Hallo,
Mein Progrämmli funktioniert jetzt schon ganz gut. Möchte nun noch ganz simpel auf Tab1 die Combobox1 auf den Wert 1 setzen, egal welchen Wert sie vorher hatte.
Folgendes funktioniert nicht:
Sheets("Tab1").Combobox1.Value.Set = 1
Weiss jemand wie man das macht? Wird dann das zugehörige Makro auch grad ausgeführt? Kann man dies unterbinden, so dass nur Wert richtig gesetzt wird ohne Makroausführung?
thomas
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ComboBox Wert setzen?
Boris
Hi Thomas,
der Index beginnt bei Null:

Sub erster_eintrag()
Sheets("Tab1").ComboBox1.ListIndex = 0
End Sub

Grüße Boris
Wird das zugehörige Makro auch ausgeführt?
thomas
Hallo,
wird bei
Sheets("Tab1").Combobox1.Value.Set = 1
dann das Marko, das für den Value 1 geschrieben ist auch ausgeführt?
Besten Dank!
thomas
Anzeige
AW: Wird das zugehörige Makro auch ausgeführt?
Boris
Hi,
ich denke, das wolltest du nicht?
Und mit
Sheets("Tab1").Combobox1.Value.Set = 1
wird eh nix ausgeführt...
Du musst einfach das Change-Ereignis der Box entsprechend proggen:

Private Sub ComboBox1_Change()
Select Case ComboBox1.ListIndex
Case 0: MsgBox "huhu"
Case 1: MsgBox "hihi"
Case 2: MsgBox "Genug jetzt"
End Select
End Sub

Grüße Boris
Anzeige
vielen Dank Boris!
04.05.2004 13:43:05
thomas
Hallo Boris,
richtig, ich wollte nicht, dass dann das Makro ausgeführt wird, wusste aber nicht, ob das jetzt mit Combobox1.Listindex = 1 der Fall ist oder nicht.
Grüsse
thomas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

ComboBox in Excel VBA Wert setzen und steuern


Schritt-für-Schritt-Anleitung

Um den Wert einer ComboBox in Excel VBA zu setzen, kannst du die Eigenschaft ListIndex verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel, indem du ALT + F11 drückst.
  2. Füge ein neues Modul hinzu: Rechtsklick im Projekt-Explorer → Einfügen → Modul.
  3. Gib den folgenden Code ein:
    Sub SetComboBoxValue()
       Sheets("Tab1").ComboBox1.ListIndex = 0 ' Setzt den Wert auf den ersten Eintrag
    End Sub
  4. Führe das Makro aus: Gehe zurück zu Excel, drücke ALT + F8, wähle SetComboBoxValue und klicke auf „Ausführen“.

Mit dieser Methode kannst du den Wert der ComboBox in deinem Excel-Dokument einstellen. Achte darauf, dass der Index bei Null beginnt, also ist 0 der erste Eintrag.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"
    Lösung: Stelle sicher, dass du den richtigen Namen der ComboBox und des Arbeitsblatts verwendest. Überprüfe die Schreibweise.

  • Fehler: Makro wird nicht ausgeführt
    Wenn du den Wert einer ComboBox setzt, aber das zugehörige Makro nicht ausgeführt wird, ist das normal, wenn du ListIndex oder Value direkt setzt. Du musst das Change-Ereignis programmieren, um die gewünschten Aktionen auszuführen.


Alternative Methoden

Eine weitere Möglichkeit, Werte in einer ComboBox zu setzen, ist die Verwendung des Value-Eigenschaft. Hier ein Beispiel:

Sub SetComboBoxValueByValue()
    Sheets("Tab1").ComboBox1.Value = "DeinWert" ' Setzt den Wert direkt
End Sub

Diese Methode ist praktisch, wenn du einen bestimmten Text in der ComboBox haben möchtest. Beachte jedoch, dass der Text exakt dem entsprechen muss, was in der Liste vorhanden ist.


Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen, die ComboBox effizient zu nutzen:

  1. Werte zuweisen und Nachricht anzeigen:

    Private Sub ComboBox1_Change()
       Select Case ComboBox1.ListIndex
           Case 0: MsgBox "Erster Eintrag ausgewählt"
           Case 1: MsgBox "Zweiter Eintrag ausgewählt"
       End Select
    End Sub
  2. Dropdown-Liste für die Auswahl eines Wertes: Wenn du eine excel vba dropdown liste wert auswählen möchtest, kannst du die Werte in der ComboBox im VBA-Editor definieren:

    Sub PopulateComboBox()
       With Sheets("Tab1").ComboBox1
           .AddItem "Erster Eintrag"
           .AddItem "Zweiter Eintrag"
           .AddItem "Dritter Eintrag"
       End With
    End Sub

Tipps für Profis

  • Verwende ListCount: Um die Anzahl der Elemente in der ComboBox abzufragen, kannst du ComboBox.ListCount verwenden.
  • Dynamische Datenquelle: Fülle die ComboBox mit Werten aus einer Excel-Tabelle, um die Wartung zu erleichtern:
    Sub FillComboBoxFromRange()
      Dim c As Range
      For Each c In Sheets("Daten").Range("A1:A10")
          Sheets("Tab1").ComboBox1.AddItem c.Value
      Next c
    End Sub
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsmechanismen, um unerwartete Probleme zu vermeiden.

FAQ: Häufige Fragen

1. Führt das Setzen des Wertes in der ComboBox das zugehörige Makro aus?
Nein, das Setzen des Wertes mit ListIndex oder Value führt das Change-Ereignis nicht automatisch aus. Du musst das Ereignis manuell auslösen, wenn du eine Aktion ausführen möchtest.

2. Wie kann ich sicherstellen, dass nur gültige Werte in der ComboBox ausgewählt werden?
Du kannst eine Validierung im Change-Ereignis hinzufügen und nur bestimmte Bedingungen zulassen, bevor eine Aktion durchgeführt wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige