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

Forumthread: ListBox-Auswahl auslesen

ListBox-Auswahl auslesen
02.03.2009 08:28:47
Rudi
Hallo zusammen
ich habe ein simples Problem, schaffe es aber irgendwie nicht: Ich habe in einer UserForm eine ListBox (lboFiles), in welcher die zurzeit geöffneten Arbeitsmappen aufgeführt sind. Nun wähle ich daraus eine Arbeitsmappe aus, welche ich anschliessend via Klick auf die Befehlsschaltfläche cmdOK aktivieren möchte.
Wie lautet der Code dazu?
Danke, Gruss
Rudi
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: ListBox-Auswahl auslesen
02.03.2009 08:54:14
Rudi
Hallo
Ich hab's mit folgender Zeile geschafft:
Workbooks(lboFiles.BoundValue).Activate
Gruss, Rudi
AW: ListBox-Auswahl auslesen
02.03.2009 08:55:59
Oberschlumpf
Moin Rudi
Oder so. Schreib ins Klick-Ereignis des cmdOK-Buttons:

Workbooks(ListBox1.Text).Activate


Hilfts?
Ciao
Thorsten

Anzeige
AW: ListBox-Auswahl auslesen
02.03.2009 09:00:57
Beverly
Hi Rudi,

Workbooks(lboFiles.Value).Activate




AW: ListBox-Auswahl auslesen
02.03.2009 10:50:18
Rudi
Hallo Thorsten und Karin
Geht beides auch!
Besten Dank und Gruss
Rudi
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

ListBox-Auswahl in Excel VBA auslesen


Schritt-für-Schritt-Anleitung

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

  2. ListBox hinzufügen: Ziehe eine ListBox auf die UserForm und nenne sie lboFiles.

  3. Befehlsbutton hinzufügen: Füge einen Button hinzu und nenne ihn cmdOK.

  4. Code für das Aktivieren der Arbeitsmappe: Doppelklicke auf den Button und füge den folgenden Code ein:

    Private Sub cmdOK_Click()
       Workbooks(lboFiles.Value).Activate
    End Sub
  5. ListBox füllen: Stelle sicher, dass du die ListBox mit den Namen der geöffneten Arbeitsmappen gefüllt hast. Du kannst dies im UserForm_Initialize-Ereignis tun:

    Private Sub UserForm_Initialize()
       Dim wb As Workbook
       For Each wb In Application.Workbooks
           lboFiles.AddItem wb.Name
       Next wb
    End Sub

Häufige Fehler und Lösungen

  • Fehler: "Das Objekt ist nicht gefunden": Stelle sicher, dass der Name der ListBox korrekt ist. Überprüfe, ob du lboFiles oder ListBox1 verwendest, je nachdem wie du die ListBox benannt hast.

  • Fehler: "Die Arbeitsmappe kann nicht aktiviert werden": Überprüfe, ob die ausgewählte Arbeitsmappe tatsächlich geöffnet ist, bevor du versuchst, sie zu aktivieren.


Alternative Methoden

Eine weitere Methode, die du verwenden kannst, ist die Verwendung der Selected-Eigenschaft von ListBox. Wenn du den ausgewählten Index abfragen möchtest, kannst du folgenden Code verwenden:

Private Sub cmdOK_Click()
    Dim selectedIndex As Integer
    selectedIndex = lboFiles.ListIndex
    If selectedIndex <> -1 Then
        Workbooks(lboFiles.List(selectedIndex)).Activate
    End If
End Sub

Diese Methode ist nützlich, wenn du sicherstellen möchtest, dass ein Element ausgewählt ist, bevor du versuchst, es zu aktivieren.


Praktische Beispiele

Hier ist ein einfaches Beispiel, das zeigt, wie du eine ListBox in Excel VBA verwenden kannst, um die Auswahl der Arbeitsmappen auszulesen:

  1. Erstelle eine UserForm mit einer ListBox (lboFiles) und einem Button (cmdOK).
  2. Füge den Initialisierungs-Code und den Button-Code ein, wie in den vorherigen Abschnitten beschrieben.
  3. Starte die UserForm und wähle eine Arbeitsmappe aus der ListBox aus. Klicke auf den Button, um die ausgewählte Arbeitsmappe zu aktivieren.

Tipps für Profis

  • Nutze die BoundValue-Eigenschaft der ListBox, um direkt auf den Wert zuzugreifen, wenn du eine gebundene ListBox verwendest.
  • Überlege, die ListBox so zu gestalten, dass sie mehr Informationen anzeigt, wie z.B. Dateipfade oder Zusatzinformationen, um die Benutzererfahrung zu verbessern.
  • Implementiere Fehlermeldungen, um dem Benutzer zu helfen, falls keine Auswahl getroffen wurde.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die Auswahl in einer Multi-Select ListBox auslesen?
Antwort: Du kannst die Selected-Eigenschaft in einer Schleife verwenden, um alle ausgewählten Elemente auszulesen.

2. Frage
Funktioniert dieser Code auch in Excel 2016?
Antwort: Ja, der Code ist mit Excel 2016 und späteren Versionen kompatibel, solange die VBA-Umgebung genutzt 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