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

Forumthread: Combobox Wert vorgeben

Combobox Wert vorgeben
11.09.2007 10:53:00
Herbert
Hallo Gemeinde
Ich lese in eine Userform Werte ein und schreibe diese wieder zurück in eine Tabelle.
Wie kann ich den letzten Wert der in der Combobox beim nächsten Aufruf wieder anzeigen lassen?

Private Sub Userform_Initialize ()
CboTxt.List = Range("F2:F22").Value
CboTxt.ListIndex =0
End Sub


Was muß ich mit dem ListIndex anstellen, wenn z. B. der Wert aus der Zelle "F15" gewählt wurde und der soll beim nächsten Anzeigen der Userform wieder in der Combobox stehen?
Danke im Voraus
Gruß Herbert

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox Wert vorgeben
11.09.2007 11:02:23
Renee
Hi Herbert,
Schreib den ListIndex bei jeder Veränderung der Listbox in eine Zelle.
Setze den ListIndex auf den Wert der Zelle.
Greetz Renee

Danke, das wars
11.09.2007 11:03:47
Herbert
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Combobox Wert vorgeben in Excel


Schritt-für-Schritt-Anleitung

Um den letzten Wert einer Combobox in einer Userform beim nächsten Aufruf zu speichern und anzuzeigen, kannst du folgende Schritte ausführen:

  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 auf die Projektansicht 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 VBA-Code in das Userform-Modul ein:

    Private Sub Userform_Initialize()
       CboTxt.List = Range("F2:F22").Value
       CboTxt.ListIndex = 0
    End Sub
    
    Private Sub CboTxt_Change()
       ' Speichere den aktuellen ListIndex in eine Zelle (z.B. A1)
       Range("A1").Value = CboTxt.ListIndex
    End Sub
    
    Private Sub Userform_Activate()
       ' Setze den ListIndex auf den gespeicherten Wert
       CboTxt.ListIndex = Range("A1").Value
    End Sub
  5. Teste die Userform:

    • Schließe den VBA-Editor und starte die Userform, um die Funktionsweise zu überprüfen.

Häufige Fehler und Lösungen

  • Fehler: Combobox zeigt keinen gespeicherten Wert an
    Lösung: Stelle sicher, dass der Code im Userform_Activate korrekt ist und der Wert tatsächlich in der angegebenen Zelle gespeichert wird.

  • Fehler: ListIndex außerhalb des Bereichs
    Lösung: Überprüfe, ob der gespeicherte Wert für ListIndex innerhalb der verfügbaren Indizes der Combobox liegt. Verwende If Range("A1").Value < CboTxt.ListCount Then zur Validierung.


Alternative Methoden

Eine alternative Methode zum Speichern des Wertes könnte die Verwendung eines öffentlichen Moduls sein, um den Wert global zu speichern. Du kannst auch Daten in einer Datenbank oder einer Textdatei speichern, um die Werte zwischen den Sitzungen zu erhalten.


Praktische Beispiele

Angenommen, du möchtest eine Liste von Städten in einer Combobox anzeigen. Du kannst den Code wie folgt anpassen:

Private Sub Userform_Initialize()
    CboTxt.List = Array("Berlin", "München", "Hamburg", "Köln")
    CboTxt.ListIndex = 0
End Sub

Hier wird eine feste Liste von Städten in die Combobox geladen. Der gespeicherte Wert wird weiterhin in einer Zelle wie "A1" gespeichert.


Tipps für Profis

  • Dynamische Listen: Wenn du häufige Änderungen an den Werten in der Combobox hast, erwäge, die Werte dynamisch aus einer Datenquelle wie einer Excel-Tabelle oder einem Datenbankabfrage zu laden.

  • Ereignisprozeduren: Nutze Ereignisprozeduren wie BeforeClose oder BeforeUnload, um den aktuellen Index zu speichern, bevor die Userform geschlossen wird.


FAQ: Häufige Fragen

1. Wie kann ich die Combobox mit Werten aus einer anderen Tabelle füllen?
Du kannst den Bereich anpassen, um auf die entsprechenden Zellen einer anderen Tabelle zuzugreifen, z.B.:

CboTxt.List = Sheets("Tabelle2").Range("A1:A10").Value

2. Was passiert, wenn ich den Wert in der Zelle lösche?
Wenn du den Wert in der Zelle löscht, wird die Combobox beim nächsten Öffnen der Userform den ersten Wert als Standardwert anzeigen. Stelle sicher, dass immer ein gültiger Wert in der Zelle vorhanden 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