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

Forumthread: Combobox und die Vorbelegung

Combobox und die Vorbelegung
11.02.2009 16:08:00
Marco
Hallo alle zusammen,
hab nur ein kurzes Problem, sitze aber schon seit 2 Stunden dran.
Ich möchte eine Combobox mit einer Liste füllen und anschließend einen Text der Box vorgeben, der dann aber nicht mehr auswählbar sein soll.
Konkret:
In Liste:
Schmidt, Meier, Schulze
code:
listbox1.list(0)="Schmidt"
listbox1.list(1)="Meier"
listbox1.list(2)="Schulze"
Vor der ersten Anwahl der Combobox soll stehen:
Bitte Mitarbeiter wählen... (oder Vorbelegung von einen der Namen)
code:
?
Trotzdem sollen nur die Mitarbeiter die in der Liste stehen auswählbar sein. Es darf kein neuer Text eingebbar sein. Und wie bereits erwähnt, darf "Bitte Mitarbeiter wählen..." auch nicht in der Liste erscheinen.
Über Hilfe wäre ich sehr dankbar!!!
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox und die Vorbelegung
11.02.2009 16:15:00
D.Saster
Hallo,
so:

With ComboBox1
.Clear
.AddItem "Schmidt"
.AddItem "Meier"
.AddItem "Schulze"
.Value = "Bitte wählen"
End With


Gruß
Dierk

AW: Combobox und die Vorbelegung
11.02.2009 16:21:00
Marco
Hi Dirk!
Erstmal danke für die schnelle Antwort, aber bei .value schmeißt er mich raus. Er akzeptiert nur eine Eingabe aus der Liste mit .value. Selbst wenn matchentry = false
Weißt Du weiter?
Anzeige
AW: Combobox und die Vorbelegung
11.02.2009 16:28:00
hary
Hallo Dierk
versuch mal: direkt in die Cbo Eigenschaft Text-----was Du willst
Gruss Hary
AW: Beispiel
12.02.2009 15:02:00
Marco
Vielen Dank für eure Tipps!!
Nur leider funktioniert das alles nicht. Und jetzt wird es kompliziert, denn ich weiß nicht woran es liegt. Möchte ich etwas in Text oder Value eingeben kommt die Fehlermeldung Eigenschaft nicht zulässig.
Den Code kann ich nicht mitschicken da die Datei zu groß ist und allein ist es nicht lauffähig. Vielleicht liegt es aber an dem vorangegangenen Befehl combobox1.clear. Den habe ich standardmäßig gesetzt um die Liste danach zu füllen. Und dann ist .value oder .text nicht mehr setzbar!!
Noch jemand eine Idee?
Anzeige
AW: Beispiel
12.02.2009 17:56:00
Heinz
Hi,
die Eigenschaft Style muss auf 2 eingestellt sein.
Bei der Auswahl eine Abfrage: If Combobox1.Listindex = 0 Then Exit Sub
mfg Heinz
;
Anzeige
Anzeige

Infobox / Tutorial

Combobox in Excel mit Vorauswahl konfigurieren


Schritt-für-Schritt-Anleitung

Um eine Combobox in Excel VBA mit vorgegebenen Werten zu füllen und eine Vorauswahl zu treffen, folge diesen Schritten:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11 in Excel.
  2. Füge eine UserForm hinzu:

    • Klicke mit der rechten Maustaste im Projektfenster auf dein Projekt und wähle Einfügen > UserForm.
  3. Füge eine Combobox hinzu:

    • Ziehe eine Combobox aus der Toolbox auf die UserForm.
  4. Füge den folgenden Code in das UserForm-Modul ein:

    Private Sub UserForm_Initialize()
       With ComboBox1
           .Clear
           .AddItem "Schmidt"
           .AddItem "Meier"
           .AddItem "Schulze"
           .Text = "Bitte Mitarbeiter wählen..." ' Vorbelegung
           .Style = fmStyleDropDownList ' Nur Auswahl aus der Liste
       End With
    End Sub
  5. Starte die UserForm:

    • Füge einen Button oder ein anderes Steuerelement hinzu, um die UserForm anzuzeigen.

Häufige Fehler und Lösungen

  • Problem: Es erscheint die Fehlermeldung „Eigenschaft nicht zulässig“.

    • Lösung: Stelle sicher, dass die Combobox-Eigenschaft Style auf fmStyleDropDownList gesetzt ist. Dies verhindert die Eingabe von Werten, die nicht in der Liste stehen.
  • Problem: Einstellen von .Value funktioniert nicht.

    • Lösung: Verwende .Text anstelle von .Value, um die vorgegebene Auswahl anzuzeigen.

Alternative Methoden

Eine alternative Methode zur Vorauswahl einer Combobox ist die Verwendung des Worksheet_Activate-Ereignisses, um die Combobox beim Aktivieren des Arbeitsblatts zu initialisieren. Der Code könnte so aussehen:

Private Sub Worksheet_Activate()
    With ComboBox1
        .Clear
        .AddItem "Schmidt"
        .AddItem "Meier"
        .AddItem "Schulze"
        .Text = "Bitte Mitarbeiter wählen..."
    End With
End Sub

Praktische Beispiele

Hier ist ein einfaches Beispiel, bei dem die Combobox in einem Excel-Arbeitsblatt verwendet wird:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        ComboBox1.Text = "Bitte wählen..."
    End If
End Sub

In diesem Beispiel wird die Combobox automatisch auf „Bitte wählen...“ gesetzt, wenn eine bestimmte Zelle (A1) geändert wird.


Tipps für Profis

  • Nutze die MatchEntry-Eigenschaft der Combobox, um die Benutzereingaben zu steuern. Setze MatchEntry auf fmMatchEntryNone, um die Eingabe zu verhindern und nur die vorgegebenen Werte zuzulassen.

  • Experimentiere mit verschiedenen Style-Einstellungen, um das Verhalten der Combobox zu verändern und den Benutzern mehr Kontrolle zu geben.


FAQ: Häufige Fragen

1. Wie kann ich die Combobox mit Werten aus einem Arbeitsblatt füllen? Du kannst die Werte aus einem Arbeitsblatt mit einer Schleife in die Combobox einfügen. Beispiel:

Dim cell As Range
For Each cell In Worksheets("Daten").Range("A1:A10")
    ComboBox1.AddItem cell.Value
Next cell

2. Kann ich die vorgegebene Auswahl ändern, nachdem die Combobox bereits initialisiert wurde? Ja, du kannst mit .Text oder .Value die Auswahl ändern, solange du die richtige Eigenschaft verwendest und die Combobox nicht im fmStyleDropDownList-Modus ist.

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