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

Listbox im Hintergrund aktualisieren

Forumthread: Listbox im Hintergrund aktualisieren

Listbox im Hintergrund aktualisieren
07.08.2016 09:06:18
tobias
Guten Morgen zusammen,
ich bräuchte mal wieder eure geballte Fachkompetenz.
Folgende Listbox hab ich mir aus dem Netz besorgt
https://www.herber.de/bbs/user/107441.xls
Die Listbox möchte ich in eine Userform einfügen, welche ständig angezeigt wird. Die Tabelle im Hintergrund wird über eine Eingabemaske befüllt.Soweit alles kein Problem. Jetzt würde ich gerne die Listbox nach jeder Änderung in der Tabelle über einen Button oder wenn möglich auch automatisch aktualisieren während sie angezeigt wird.
Danke im Voraus und allen ein schönen Sonntag
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox im Hintergrund aktualisieren
07.08.2016 09:24:36
Hajo_Zi
ich investiere keine Zeit um Deine Eingabe UserForm nachzubauen. Die sieht bestimmt anders aus als Deine.

AW: Listbox im Hintergrund aktualisieren
07.08.2016 09:38:14
Matthias
Hallo tobias
Du kannst doch den Code des Initalize-Ereignis
auch auf ein Button anwenden.
Dann drückst Du einfach aufs Button zum aktualisieren.
Ich hab das mal in Deiner Datei eingepflegt.
Wenn es eine Änderung in der Tabelle gab, wird
Commandbutton2 blau. Somit siehst Du, das Du aktualisieren musst.
Öffne das Formular und ändere dannach irgend eine Zelle der Tabelle.
https://www.herber.de/bbs/user/107443.xls
Gruß Matthias
Anzeige
AW: Listbox im Hintergrund aktualisieren
07.08.2016 09:58:01
tobias
Danke Matthias
genau das was ich meinte.
Schönen Sonntag
Danke für die Rückmeldung :-) owT
07.08.2016 10:04:03
Matthias
;
Anzeige

Infobox / Tutorial

Listbox im Hintergrund aktualisieren


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Erstelle eine Userform in Excel, wenn du das noch nicht gemacht hast. Du kannst dies über den Visual Basic for Applications (VBA) Editor tun.

  2. Listbox hinzufügen: Füge eine Listbox zu deiner Userform hinzu. Dies kannst du im Toolbox-Bereich des VBA-Editors tun.

  3. Code für das Initialisieren: Du wirst den Code für das Initialize-Ereignis der Userform anpassen. Hier ist ein Beispiel, wie du die Listbox mit Daten füllst:

    Private Sub UserForm_Initialize()
        ' Beispiel: Daten aus einem Arbeitsblatt in die Listbox laden
        Dim ws As Worksheet
        Set ws = ThisWorkbook.Sheets("Tabelle1") ' Name der Tabelle anpassen
    
        Dim i As Integer
        For i = 1 To ws.Cells(Rows.Count, 1).End(xlUp).Row
            ListBox1.AddItem ws.Cells(i, 1).Value ' Daten aus Spalte A
        Next i
    End Sub
  4. Button für Aktualisierung: Füge einen CommandButton hinzu, um die Listbox manuell zu aktualisieren. Hier ist ein Beispielcode für den Button:

    Private Sub CommandButton1_Click()
        ' Listbox aktualisieren
        ListBox1.Clear
        Call UserForm_Initialize
    End Sub
  5. Automatische Aktualisierung: Wenn du die Listbox automatisch aktualisieren möchtest, kannst du den Code zum Change-Ereignis der Tabelle hinzufügen. Eine Möglichkeit wäre, ein Ereignis zu erstellen, das die Userform aktualisiert, sobald eine Zelle in der Tabelle geändert wird.


Häufige Fehler und Lösungen

  • Listbox bleibt leer: Stelle sicher, dass der Code zur Befüllung der Listbox im Initialize-Ereignis korrekt ist und die richtige Tabelle referenziert wird.

  • Button funktioniert nicht: Überprüfe, ob der Name des Buttons im Code mit dem Namen im VBA-Editor übereinstimmt.

  • Keine automatische Aktualisierung: Stelle sicher, dass das Ereignis, das die Userform aktualisiert, korrekt implementiert ist. Wenn es nicht funktioniert, kann es daran liegen, dass das Ereignis nicht für die richtige Tabelle oder das richtige Arbeitsblatt geschrieben wurde.


Alternative Methoden

  • Timer verwenden: Du kannst einen Timer implementieren, um die Listbox in regelmäßigen Abständen zu aktualisieren. Dies wäre eine automatisierte Methode, die nicht auf einen Button angewiesen ist.

  • Worksheet_Change-Ereignis: Du kannst das Worksheet_Change-Ereignis nutzen, um die Userform bei jeder Änderung in der Tabelle zu aktualisieren.

    Private Sub Worksheet_Change(ByVal Target As Range)
        UserForm1.ListBox1.Clear
        UserForm1.UserForm_Initialize
    End Sub

Praktische Beispiele

  • Datenbankanwendung: Wenn du eine Datenbankanwendung erstellst, kannst du die Listbox verwenden, um Datensätze anzuzeigen. Nach Änderungen in der Datenbank wird die Listbox automatisch aktualisiert.

  • Inventarverwaltung: In einer Inventarverwaltung kannst du die Listbox nutzen, um aktuelle Bestände anzuzeigen. Jedes Mal, wenn du eine Zelle änderst, wird die Listbox aktualisiert, um die neuesten Informationen anzuzeigen.


Tipps für Profis

  • Verwende Arrays: Wenn du eine große Datenmenge hast, kann es effizienter sein, die Daten zuerst in ein Array zu laden und dann die Listbox aus dem Array zu befüllen.

  • Styling der Listbox: Du kannst das Aussehen der Listbox anpassen, indem du die Eigenschaften im VBA-Editor änderst. So kannst du das Nutzererlebnis verbessern.

  • Fehlerbehandlung einfügen: Stelle sicher, dass du Fehlerbehandlungsroutinen in deinen Code einfügst, um unerwartete Fehler während der Laufzeit abzufangen.


FAQ: Häufige Fragen

1. Wie kann ich die Listbox automatisch bei jeder Änderung in der Tabelle aktualisieren?
Du kannst das Worksheet_Change-Ereignis verwenden, um die Userform und die Listbox bei jeder Änderung in der Tabelle zu aktualisieren.

2. Welche Excel-Version benötige ich für diese Funktionen?
Die beschriebenen Funktionen sind in Excel 2007 und neueren Versionen verfügbar, da sie auf VBA basieren. Achte darauf, dass dein Excel VBA unterstützt.

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