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

VBA: Combobox aktualisieren

Forumthread: VBA: Combobox aktualisieren

VBA: Combobox aktualisieren
10.01.2003 10:10:40
Richard
Hallo,
in einer Eingabemaske wird die Combobox 'cboselect' gezeigt, die über die Eigenschaft RowSource auf ein Datenfeld in einer Tabelle zugreift. Nun ändern sich in dieser Tabelle die Daten. In der Eingabemaske werden aber noch die alten Daten angezeigt. Wie kann in der Eingabemaske die Combobox mit aktuellem Inhalt angezeigt werden. Was ich suche ist so was wie cboselect.update

Danke für jeden Tipp
Richard

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: VBA: Combobox aktualisieren
10.01.2003 11:10:08
Bernd Held
Hallo Richard,

Das funktioniert bei mir automatisch, wenn du den Bereich beim Aufrufen der UserForm einstellst.

Private Sub UserForm_Initialize()
UserForm1.ComboBox1.RowSource = Sheets("Tabelle1").Range("A1:A10").Address
End Sub

Der Aufruf der USerForm

Sub dia()
UserForm1.Show 0
End Sub

NAch dem Aufruf kannst Du im Hintergrund die Daten der Tabelle ändern.

Viele Grüße
Bernd
MVP für Microsoft Excel
Jetzt neu: Excel-VBA in 21 Tagen, neue FAQs und Makros unter: http://held-office.de


Anzeige
Sorry, Fehler meinerseits...
10.01.2003 14:24:57
Richard
Hallo,
danke für Deine Antwort, aber der Fehler war auf meiner Seite. Ich dachte die ganze Zeit, dass ich den Tabelleninhalt ändern würde. Tatsächlich ist der aber die ganze Zeit gleich geblieben. Deshalb hat sich die Combobox auch nicht verändert. Jetzt gehts bei mir auch automatisch

Richard

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Combobox in Excel VBA aktualisieren


Schritt-für-Schritt-Anleitung

  1. UserForm erstellen: Öffne den VBA-Editor (Alt + F11) und füge eine neue UserForm hinzu.

  2. Combobox hinzufügen: Ziehe eine Combobox auf die UserForm und nenne sie cboselect.

  3. RowSource festlegen:

    • Doppelklicke auf die UserForm.
    • Füge den folgenden Code in die UserForm_Initialize-Sub ein:
    Private Sub UserForm_Initialize()
       cboselect.RowSource = Sheets("Tabelle1").Range("A1:A10").Address
    End Sub
  4. UserForm aufrufen: Erstelle eine Subroutine, um die UserForm anzuzeigen:

    Sub dia()
       UserForm1.Show 0
    End Sub
  5. Daten ändern: Ändere die Daten in Tabelle1, während die UserForm geöffnet ist. Die Combobox wird automatisch aktualisiert, da sie auf den angegebenen Bereich verweist.


Häufige Fehler und Lösungen

  • Fehler: Combobox zeigt alte Daten an:

    • Überprüfe, ob der Datenbereich in der RowSource korrekt eingestellt ist. Manchmal kann es sein, dass sich der Datenbereich nicht wie erwartet ändert.
  • Lösung: Stelle sicher, dass du die UserForm korrekt initialisierst und die RowSource aktualisiert wird, wenn die UserForm geöffnet wird.


Alternative Methoden

Falls du die Daten in der Combobox manuell aktualisieren möchtest, kannst du folgende Methode verwenden:

  1. Daten manuell hinzufügen:

    • Anstelle von RowSource kannst du die Items der Combobox direkt im Code hinzufügen:
    Private Sub UserForm_Initialize()
       Dim rng As Range
       Set rng = Sheets("Tabelle1").Range("A1:A10")
       Dim cell As Range
    
       For Each cell In rng
           cboselect.AddItem cell.Value
       Next cell
    End Sub

Diese Methode ist besonders nützlich, wenn du die Combobox dynamisch basierend auf spezifischen Bedingungen befüllen möchtest.


Praktische Beispiele

Angenommen, du hast eine Tabelle mit Produktnamen in A1:A10. Mit dem oben genannten Code wird die Combobox in deiner UserForm automatisch aktualisiert, wenn du die Tabelle bearbeitest.

Wenn du die Combobox basierend auf einem Filter aktualisieren möchtest, kannst du zusätzliche Logik in die UserForm_Initialize-Sub einfügen, um nur bestimmte Produkte anzuzeigen.


Tipps für Profis

  • Verwende Named Ranges: Statt feste Zelladressen zu verwenden, kannst du benannte Bereiche nutzen. Dies macht deinen Code flexibler und einfacher zu warten.
  • Datenbindung: Überlege, ob du die Combobox mit einer Datenquelle verknüpfen möchtest, um die Daten automatisch zu aktualisieren, wenn sich die Quelle ändert.
  • Fehlerbehandlung: Implementiere Error-Handling, um sicherzustellen, dass dein Code robust ist, insbesondere wenn du mit Daten arbeitest.

FAQ: Häufige Fragen

1. Wie kann ich die Combobox manuell aktualisieren, ohne die UserForm zu schließen? Du kannst die Combobox mit dem Befehl cboselect.Refresh aktualisieren, um die neuesten Daten anzuzeigen.

2. Was kann ich tun, wenn die Combobox nicht die richtigen Daten anzeigt? Überprüfe die RowSource und stelle sicher, dass der angegebene Bereich tatsächlich die gewünschten Daten enthält. Vergewissere dich auch, dass die UserForm korrekt initialisiert wird.

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