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

UF-ComboBox letzten wert auslesen

Forumthread: UF-ComboBox letzten wert auslesen

UF-ComboBox letzten wert auslesen
15.04.2019 15:51:56
Sigi
Hallo,
wie kann ich aus einer Userform ComboBox den letzten Wert auslesen lassen und in einer Textbox anzeigen , ohne die ComboBox zu aktivieren?
Danke!
Gruß
Sigi
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: UF-ComboBox letzten wert auslesen
15.04.2019 15:54:56
Daniel
Hi
was ist für dich der letzte Wert?
das was der Anwender eingegeben hat, bevor er die Userform verlassen hat?
in dem Fall würde ich die Combobox über die Eigenschaft ControlSource mit einer Ausgabezelle verknüpfen.
in dieser Zelle steht dann immer der aktuelle Comboboxwert und die letzte Änderung bleibt auch erhalten, wenn die Combobox geschlossen wird.
Gruß Daniel
Anzeige
AW: UF-ComboBox letzten wert auslesen
15.04.2019 16:28:29
Sigi
Hallo Daniel,
aus einer Tabellenspalte wird wird die Jahreszahl der einzelnen Jahre ohne doppelte eingelesen. Erstes Additem "Alle Jahre" dann folgen die Jahre z.B. 2016, 2017, 2018
Wenn nun alle Jahre angeclickt wird, wird eine Auswertung derstellt die von 2016 - 2018 geht.
Deshalb des letzte Wert in diesem Fall ListIndex = 3, sollte nun noch 2019 oder 2020 hinzu kommen wäre der ListIndex dementsprechend.
Danke!
Gruß
Sigi
Anzeige
AW: UF-ComboBox letzten wert auslesen
15.04.2019 16:34:56
Daniel
Hi
da musst du dann schon die Combobox direkt abfragen:
Combobox1.List(Combobox1.ListCount - 1)
bzw wenn die Abfrage außerhalb der Userform erfolgt:
Userform1.Combobox1.List(Userform1.Combobox1.ListCount - 1)
dazu muss die Userform allerdings initialisiert worden sein und muss noch vorhanden sein, dh du darfst sie, wenn du diese Aktion ausführen willst, höchstens mit .Hide ausblenden, aber nicht terminieren.
Gruß Daniel
Anzeige
AW: UF-ComboBox letzten wert auslesen
15.04.2019 16:49:26
Sigi
Hallo,
vielen Dank, Nepumuk Dein Vorschlag funktioniert so wie ich das benötige.
Auch Dank an Dich Daniel!
Gruß
Sigi
AW: UF-ComboBox letzten wert auslesen
15.04.2019 16:38:54
Nepumuk
Hallo Siggi,
so?
Private Sub CommandButton1_Click()
    With ComboBox1
        If .ListIndex = 0 Then
            TextBox1.Text = .List(1) & " - " & .List(.ListCount - 1)
        Else
            TextBox1.Text = .List(.ListIndex)
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige
;
Anzeige

Infobox / Tutorial

Letzten Wert aus einer ComboBox in Excel auslesen


Schritt-für-Schritt-Anleitung

Um den letzten Wert aus einer ComboBox in einer Userform zu lesen und in einer TextBox anzuzeigen, kannst Du die folgenden Schritte befolgen:

  1. Userform erstellen: Öffne den VBA-Editor (Alt + F11) und füge eine neue Userform hinzu. Platziere eine ComboBox (ComboBox1) und eine TextBox (TextBox1) sowie einen Button (CommandButton1) auf der Userform.

  2. ComboBox füllen: Du kannst die ComboBox in der Userform_Initialize-Methode mit Daten füllen. Zum Beispiel:

    Private Sub UserForm_Initialize()
       ComboBox1.AddItem "Alle Jahre"
       ComboBox1.AddItem "2016"
       ComboBox1.AddItem "2017"
       ComboBox1.AddItem "2018"
    End Sub
  3. Letzten Wert abrufen: Füge den folgenden Code in die CommandButton1_Click-Methode ein, um den letzten Wert der ComboBox auszulesen:

    Private Sub CommandButton1_Click()
       With ComboBox1
           If .ListIndex = 0 Then
               TextBox1.Text = .List(1) & " - " & .List(.ListCount - 1)
           Else
               TextBox1.Text = .List(.ListIndex)
           End If
       End With
    End Sub
  4. Userform ausführen: Schließe den VBA-Editor und führe die Userform aus, um die Funktion zu testen.


Häufige Fehler und Lösungen

  • Fehler: ComboBox ist leer
    Lösung: Stelle sicher, dass die ComboBox im UserForm_Initialize korrekt gefüllt wird.

  • Fehler: TextBox bleibt leer
    Lösung: Überprüfe, ob CommandButton1_Click tatsächlich aufgerufen wird. Füge Debugging-Ausgaben ein, um sicherzustellen, dass der Code ausgeführt wird.

  • Fehler: Anwendung stürzt ab
    Lösung: Achte darauf, dass die Userform nicht geschlossen wurde, bevor Du auf die ComboBox zugreifst. Nutze .Hide statt .Unload, um die Userform zu schließen.


Alternative Methoden

Eine alternative Methode, um den letzten Wert aus einer ComboBox auszulesen, ist die Verwendung der ControlSource-Eigenschaft, die die ComboBox mit einer bestimmten Zelle verknüpft. Dadurch wird der aktuelle Wert automatisch in der Zelle gespeichert und kann jederzeit abgerufen werden.

  • Beispiel:
    ComboBox1.ControlSource = "A1"

Hierdurch wird der Wert der ComboBox in die Zelle A1 geschrieben, und Du kannst ihn von dort aus abrufen.


Praktische Beispiele

Angenommen, Du hast eine Liste von Jahren in Deiner ComboBox. Wenn Du den Button drückst, wird der letzte Wert wie folgt angezeigt:

  • Wenn die ComboBox "Alle Jahre" ausgewählt ist, wird in der TextBox "2016 - 2018" angezeigt.
  • Wenn "2017" ausgewählt ist, wird in der TextBox "2017" angezeigt.

Das ist besonders nützlich für Berichte oder Auswertungen, die auf den letzten Benutzereingaben basieren.


Tipps für Profis

  • Nutze die ListCount-Eigenschaft, um dynamisch die Anzahl der Einträge in der ComboBox zu überprüfen.

  • Verwende Error Handling, um unerwartete Fehler abzufangen. Zum Beispiel:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0
  • Teste Deine Userform regelmäßig, während Du Änderungen vornimmst, um sicherzustellen, dass alles wie erwartet funktioniert.


FAQ: Häufige Fragen

1. Wie kann ich den letzten Wert der ComboBox speichern?
Du kannst den letzten Wert in einer Zelle speichern, indem Du ControlSource verwendest oder den Wert manuell in einer Variable speicherst.

2. Was ist der Unterschied zwischen .ListIndex und .ListCount?
.ListIndex gibt den Index des aktuell ausgewählten Wertes zurück, während .ListCount die Gesamtzahl der Elemente in der ComboBox angibt.

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