Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: USerform ComboBox auslesen

USerform ComboBox auslesen
30.04.2008 08:12:30
Christian
Hallo,
ich weiß es gibt tausende von diesen Einträgen, aber leider finde ich immer nur eine Lösung wie ich die vordefenierten Werte auslese.
In der COmboBox im Userform kann es aber auch vorkommen das der gewünschte Inhalt nicht in der ComboBox enthalten ist und man ihn in die ComboBox reinschreibt wie in ein Textfeld.
Jedoch liesst mir dann mein Code den Wert nicht aus.
Kann mir jemand weiterhelfen?
So lese ich im Moment die Werte aus:

For k = 0 To CBox_U_Kunde.ListCount - 1
If CBox_U_Kunde.Selected(i) Then
wskD.Cells(i, 2).Value = CBox_U_Kunde.List(i)
End If
Next k


Gruß und schonmal Danke für eure Bemühungen
Christian

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: USerform ComboBox auslesen
30.04.2008 08:36:00
Hajo_Zi
Halo Chritian,
der Code ist zum auslkesen. Ich hätte aus den Neitrag gelesen das es um das schreiben geht, den Code sehe ich aber nicht. Wie werden die vorhandenen Werte der ComboBox zugewiesen?

AW: USerform ComboBox auslesen
30.04.2008 09:03:15
Christian
Hallo Hajo,
ja es geht um das auslesen.
Vielleicht habe ich mich dumm ausgedrückt ich habe zum Bespiel 3 Kunden ( A,B,C) die sind in der ComboBox enthalten. Nun kommt aber ein Kunde D hinzu der noch nicht in der ComboBox enthalten ist. Nun sollen alle Mitarbeiter aber die Möglichkeit habe diesen manuell einfach in die ComboBox reinzuschreiben bis er irgendwann mit in die ComboBox zur Auswahl aufgenommen wird. Diesen manuell eingetragen Wert soll dann in ein Formular übertragen werden. Ich kann ihn aber im Moment den manuell geschrieben WErt in der ComboBox nicht auslesen.
Hoffe es ist jetzt klarer geworden.
Danke
Gruß
Christian

Anzeige
AW: USerform ComboBox auslesen
30.04.2008 09:09:31
dan
Hallo Christian,
versuche es mit der Eigenschafft Value. Die Eigenschafft Style des Combos muss dabei auf 0 stehen (drop down combo). Wenn der Style gleich 1 ist, kann man in den Combo-box nicht schreiben.

Private Sub CommandButton1_Click()
MsgBox Me.ComboBox1.Value
End Sub


Gruss dan, cz.

Anzeige
AW: USerform ComboBox auslesen
30.04.2008 11:13:59
Christian
Mit ComboBox.Value kann ich den Wert nicht in eine Zelle schreiben, da dann der der Laufzeitfehler '424' objekt erforderlich

wskD.Cells(i, 2).Value = UF_Unterkunft.CBox_U_Kunde.Value


Was mache ich falsch?

AW: USerform ComboBox auslesen
30.04.2008 12:56:06
dan
Um ehrlich zu sein, ich weiss es nicht :-). Hier die Beschreibung des Errors. Sonst muesste ich den Code sehen und debugen...
Gruss Dan, cz.
Object required (Error 424)
References to properties and methods often require an explicit object qualifier. This error has the following causes and solutions:
You referred to an object property or method, but didn't provide a valid object qualifier.
Specify an object qualifier if you didn't provide one. For example, although you can omit an object qualifier when referencing a form property from within the form's own module, you must explicitly specify the qualifier when referencing the property from a standard module.
You supplied an object qualifier, but it isn't recognized as an object.
Check the spelling of the object qualifier and make sure the object is visible in the part of the program in which you are referencing it. In the case of Collection objects, check any occurrences of the Add method to be sure the syntax and spelling of all the elements are correct.
You supplied a valid object qualifier, but some other portion of the call contained an error.
An incorrect path as an argument to a host application's File Open command could cause the error. Check arguments.
You didn't use the Set statement in assigning an object reference.
If you assign the return value of a CreateObject call to a Variant variable, an error doesn't necessarily occur if the Set statement is omitted. In the following code example, an implicit instance of Microsoft Excel is created, and its default property (the string "Microsoft Excel") is returned and assigned to the Variant RetVal. A subsequent attempt to use RetVal as an object reference causes this error:
Dim RetVal ' Implicitly a Variant.
' Default property is assigned to Type 8 Variant RetVal.
RetVal = CreateObject("Excel.Application")
RetVal.Visible = True ' Error occurs here.
Use the Set statement when assigning an object reference.
In rare cases, this error occurs when you have a valid object but are attempting to perform an invalid action on the object. For example, you may receive this error if you try to assign a value to a read-only property.
Check the object's documentation and make sure the action you are trying to perform is valid.
For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

ComboBox im Userform auslesen und nutzen


Schritt-für-Schritt-Anleitung

Um den Wert einer ComboBox im Excel Userform auszulesen, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Erstelle ein Userform mit einer ComboBox und einem Button.

  2. Setze die Eigenschaften der ComboBox:

    • Stelle sicher, dass die Style-Eigenschaft der ComboBox auf 0 - fmStyleDropDownCombo gesetzt ist. Dies ermöglicht es dem Benutzer, sowohl aus der Liste auszuwählen als auch einen eigenen Wert einzugeben.
  3. Füge den folgenden VBA-Code für den Button hinzu:

    Private Sub CommandButton1_Click()
       Dim wert As String
       wert = Me.ComboBox1.Value
       MsgBox "Der ausgewählte Wert ist: " & wert
    End Sub
  4. Um den Wert in eine Zelle zu schreiben, kannst Du den folgenden Code verwenden:

    Private Sub CommandButton1_Click()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("DeinBlattname")
       ws.Cells(1, 1).Value = Me.ComboBox1.Value
    End Sub
  5. Führe das Userform aus und teste die Funktionalität, indem Du einen Wert in die ComboBox eingibst oder einen vordefinierten Wert auswählst.


Häufige Fehler und Lösungen

  • Laufzeitfehler '424 - Objekt erforderlich': Dieser Fehler tritt auf, wenn Du versuchst, auf ein Objekt zuzugreifen, das nicht korrekt referenziert ist. Stelle sicher, dass Du den richtigen Qualifier verwendest, z.B. UF_Unterkunft.ComboBox1.Value.

  • Attempted to assign to readonly property: Dies geschieht, wenn Du versuchst, einen Wert einer schreibgeschützten Eigenschaft zuzuweisen. Überprüfe die Eigenschaften der ComboBox, um sicherzustellen, dass sie korrekt konfiguriert ist.

  • Invalid qualifier vba: Wenn Du einen Fehler erhältst, der besagt, dass ein Qualifier ungültig ist, überprüfe die Schreibweise und Sichtbarkeit des Objekts, auf das Du zugreifen möchtest.


Alternative Methoden

Wenn Du den Wert einer ComboBox in Excel VBA auslesen möchtest, gibt es auch alternative Ansätze:

  • Direktes Auslesen des Wertes: Anstatt durch die Listenelemente zu iterieren, kannst Du direkt auf die Value-Eigenschaft der ComboBox zugreifen.

  • Verwendung von ListIndex: Du kannst den Index des ausgewählten Wertes abrufen und dann den entsprechenden Wert aus der Liste auslesen:

    Dim index As Integer
    index = Me.ComboBox1.ListIndex
    If index <> -1 Then
       MsgBox "Der Wert ist: " & Me.ComboBox1.List(index)
    End If

Praktische Beispiele

Hier sind einige Beispiele, wie Du die ComboBox in Excel VBA effektiv nutzen kannst:

  1. Wert aus Dropdown auslesen:

    Private Sub CommandButton1_Click()
       Dim wert As String
       wert = Me.ComboBox1.Value
       ' Wert in eine Zelle schreiben
       ThisWorkbook.Sheets("Daten").Cells(1, 1).Value = wert
    End Sub
  2. Manuelle Eingaben verarbeiten: Wenn ein Benutzer einen Wert eingibt, der nicht in der Liste ist, kannst Du diesen ebenfalls speichern:

    If Me.ComboBox1.ListIndex = -1 Then
       ' Benutzer hat einen neuen Wert eingegeben
       ThisWorkbook.Sheets("Daten").Cells(2, 1).Value = Me.ComboBox1.Value
    End If

Tipps für Profis

  • Nutze Fehlerbehandlungsroutinen, um Laufzeitfehler abzufangen und die Benutzererfahrung zu verbessern.

  • Stelle sicher, dass die ComboBox-Daten regelmäßig aktualisiert werden, um sicherzustellen, dass alle relevanten Optionen verfügbar sind.

  • Verwende Datenvalidierung, um sicherzustellen, dass nur gültige Werte in die ComboBox eingegeben werden.


FAQ: Häufige Fragen

1. Wie kann ich die Werte der ComboBox dynamisch aktualisieren?
Du kannst die RowSource-Eigenschaft der ComboBox verwenden, um die Werte aus einem Bereich in einem Arbeitsblatt zu beziehen.

2. Was mache ich, wenn der Wert der ComboBox nicht in die Zelle geschrieben wird?
Überprüfe die Referenz auf die Zelle und stelle sicher, dass die ComboBox richtig konfiguriert ist. Verwende die Value-Eigenschaft, um den Wert auszulesen.

3. Kann ich die ComboBox auch in einem Arbeitsblatt verwenden?
Ja, Du kannst ComboBoxen auch direkt in einem Arbeitsblatt verwenden, indem Du die Entwicklertools aktivierst und das Steuerelement hinzufügst.

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