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

Listbox Eintrag nach Doppelklick MsgBox öffnen

Forumthread: Listbox Eintrag nach Doppelklick MsgBox öffnen

Listbox Eintrag nach Doppelklick MsgBox öffnen
13.06.2019 13:50:34
Mike
Hallo zusammen,
ich habe mir mit einem UserForm eine Suchmaske gebastelt.
Dort werden in einer ListBox die gefundenen Einträge gelistet. Funktioniert alles wunderbar.
Nun gibt es aber für einige der angezeigten Ergebnisse Bemerkungen.
Diese werden dem Suchenden (auf Grund der ListBox Spaltengröße) nur zum Teil angezeigt. Das ist auch so gewollt um die Größe
der UserForm nicht zu sprengen. Es ist so zumindest ersichtlich, dass es zu einem Eintrag eine Bemerkung gibt.
Nun würde ich gerne mittels Doppelklick auf das entsprechende Suchergebnis (Zeile in der ListBox) den Inhalt der Bemerkungszelle in einer MsgBox anzeigen.
Wenn also das Suchergebnis in den Zellen A139:D139 steht soll in der MsgBox die Zelle E139 angezeigt werden.
Ist das realisierbar und wenn ja kann mir dazu jemand helfen?
Gruß
Mike
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Listbox Eintrag nach Doppelklick MsgBox öffnen
13.06.2019 14:21:41
EtoPHG
Hallo Mike,
Du hast doch schon die ganzen Bemerkung in der Liste und die Einschränkung ist nur aufgrund der Spaltenbreite der Listbox gegeben. Da brauchst du nicht auf die Zelle zurückzugreifen, sondern einfach den entsprechenden List-Eintrag als MsgBox auszugeben.
Beispiel für eine 5spaltige Listbox (names ListBox1), bei der sich die Bemerkung in der letzten Spalte befindet:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
With ListBox1
MsgBox .List(.ListIndex, 4) , vbInformation, "Bemerkung"
End With
End Sub
Gruess Hansueli
Anzeige
AW: Listbox Eintrag nach Doppelklick MsgBox öffnen
18.06.2019 08:41:58
Mike
Hallo Hansueli,
da hätte ich auch mal selber drauf kommen können.
Funktioniert
Danke für deine Hilfe
Gruß
Mike
;
Anzeige
Anzeige

Infobox / Tutorial

Listbox Eintrag nach Doppelklick in MsgBox anzeigen


Schritt-für-Schritt-Anleitung

Um den Inhalt einer Zelle in einer MsgBox anzuzeigen, wenn du auf einen Eintrag in einer ListBox doppelklickst, kannst du den folgenden VBA-Code verwenden. Stelle sicher, dass du eine UserForm mit einer ListBox (z.B. ListBox1) hast und dass die Bemerkungen in der letzten Spalte stehen.

  1. Öffne den VBA-Editor in Excel (ALT + F11).
  2. Wähle die UserForm aus, in der sich die ListBox befindet.
  3. Doppelklicke auf die ListBox, um das Codefenster zu öffnen.
  4. Füge den folgenden Code in das Codefenster ein:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    With ListBox1
        MsgBox .List(.ListIndex, 4), vbInformation, "Bemerkung"
    End With
End Sub
  1. Schließe den VBA-Editor und teste die UserForm. Doppelklicke auf einen Eintrag in der ListBox, um die MsgBox mit der entsprechenden Bemerkung anzuzeigen.

Häufige Fehler und Lösungen

  • Fehler: MsgBox zeigt eine leere Meldung an.

    • Lösung: Überprüfe, ob die ListBox tatsächlich Einträge hat und ob die Bemerkungen in der letzten Spalte vorhanden sind. Stelle sicher, dass der Index 4 korrekt ist, basierend auf der Anzahl der Spalten in deiner ListBox.
  • Fehler: Doppelklick wird nicht erkannt.

    • Lösung: Stelle sicher, dass der Code im richtigen Ereignis (DblClick) der ListBox platziert ist.

Alternative Methoden

Wenn du die Bemerkungen nicht nur in einer MsgBox anzeigen, sondern auch in einer anderen Form präsentieren möchtest, kannst du folgende Alternativen in Betracht ziehen:

  • TextBox verwenden: Anstatt eine MsgBox zu nutzen, kannst du den Inhalt der Bemerkung in einer TextBox auf der UserForm anzeigen. Füge eine TextBox hinzu und ändere den Code wie folgt:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1.Text = ListBox1.List(ListBox1.ListIndex, 4)
End Sub
  • Label verwenden: Du könntest auch ein Label nutzen, um die Bemerkung anzuzeigen. Der Code wäre ähnlich:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Label1.Caption = ListBox1.List(ListBox1.ListIndex, 4)
End Sub

Praktische Beispiele

Angenommen, deine ListBox zeigt folgende Daten an:

Name Alter Stadt Beruf Bemerkung
Mike 30 Berlin Entwickler Sehr engagiert
Anna 28 München Designer Kreativ und innovativ

Wenn du auf den Eintrag „Mike“ doppelklickst, wird die MsgBox die Meldung „Sehr engagiert“ anzeigen.


Tipps für Profis

  • Dynamische Spaltenanzahl: Wenn die Anzahl der Spalten in der ListBox variabel ist, kannst du den Index der letzten Spalte dynamisch bestimmen:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Dim lastColumn As Long
    lastColumn = ListBox1.ColumnCount - 1
    MsgBox ListBox1.List(ListBox1.ListIndex, lastColumn), vbInformation, "Bemerkung"
End Sub
  • Benutzerdefinierte MsgBox: Du kannst auch eine benutzerdefinierte UserForm erstellen, die schöner aussieht und mehr Informationen anzeigt als die Standard-MsgBox.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die Anzahl der Spalten in der ListBox ändern?
Antwort: Du kannst die Anzahl der Spalten in den Eigenschaften der ListBox unter "ColumnCount" im Eigenschaftenfenster des VBA-Editors festlegen.

2. Frage
Kann ich mehrere Spalten in der MsgBox anzeigen?
Antwort: Ja, du kannst die Informationen formatieren und mehrere Zeilen in der MsgBox anzeigen, indem du sie zusammenfügst:

MsgBox "Name: " & ListBox1.List(ListBox1.ListIndex, 0) & vbCrLf & _
       "Bemerkung: " & ListBox1.List(ListBox1.ListIndex, 4), vbInformation, "Details"

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