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

Markierung in Listbox aufheben

Forumthread: Markierung in Listbox aufheben

Markierung in Listbox aufheben
kle
Hi,
ich habe 2 Listboxen und wenn ich in einer aktiv bin, soll die zweite keinen Eintrag mehr markieren.
Aber wie geht das ? Finde nicht den richtigen Ansatz...
Danke und Gruß
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Markierung in Listbox aufheben
06.01.2011 17:45:45
Hajo_Zi
Hi,
.listindex -1

AW: erhalte Fehlermeldung
06.01.2011 21:25:15
kle
...erhalte immer eine Fehlermeldung.
"Unzulässige Verwendung einer Eigenschaft."
Habe so probiert:
Private Sub Listbox1_click()
Me.Listbox2.listindex -1
End Sub

Anzeige
AW: erhalte Fehlermeldung
06.01.2011 21:55:42
Gerd
Hallo
Me.Listbox2.ListIndex = -1
Evtenutell musst Du Listbox-Ereignisse mit einer Boolean-Variable abklemmen.
Gruß Gerd
Anzeige
Anzeige

Infobox / Tutorial

Markierung in Listbox aufheben


Schritt-für-Schritt-Anleitung

Um die Markierung in einer Listbox in Excel VBA aufzuheben, kannst Du folgende Schritte befolgen:

  1. Öffne den VBA-Editor in Excel (ALT + F11).

  2. Wähle das Userform aus, das die Listboxen enthält.

  3. Füge den folgenden Code in das Click-Ereignis der ersten Listbox ein:

    Private Sub Listbox1_Click()
        Me.Listbox2.ListIndex = -1
    End Sub
  4. Dieser Code sorgt dafür, dass die Auswahl in Listbox2 aufgehoben wird, wenn Du in Listbox1 klickst.


Häufige Fehler und Lösungen

Es können einige häufige Fehler auftreten, wenn Du versuchst, die Markierung aufzuheben:

  • "Unzulässige Verwendung einer Eigenschaft."

    • Lösung: Stelle sicher, dass Du das Gleichheitszeichen (=) verwendest, um den ListIndex zu setzen. Der korrekte Code sollte wie folgt aussehen:
    Me.Listbox2.ListIndex = -1
  • Listbox-Ereignisse werden nicht korrekt verarbeitet.

    • Lösung: Überlege, die Listbox-Ereignisse mit einer Boolean-Variablen abzuklemmen, um unerwünschte Interaktionen zu vermeiden.

Alternative Methoden

Wenn Du eine Excel-Mehrfachauswahl in einer Listbox hast und die Markierung aufheben möchtest, kannst Du auch folgende Methode verwenden:

  • ActiveX-Steuerelemente: Du kannst ActiveX-Listboxen verwenden, die eine MultiSelect-Eigenschaft haben. Um die Markierung aufzuheben, musst Du sicherstellen, dass die MultiSelect-Eigenschaft auf 0 - fmMultiSelectSingle gesetzt ist.

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie Du die Markierung in einer Listbox aufheben kannst:

Private Sub Listbox1_Click()
    If Listbox1.ListIndex <> -1 Then
        Me.Listbox2.ListIndex = -1
    End If
End Sub

In diesem Beispiel wird die Auswahl in Listbox2 nur dann aufgehoben, wenn in Listbox1 tatsächlich ein Eintrag ausgewählt ist.


Tipps für Profis

  • Debugging: Verwende Debug.Print in Deinem Code, um den Wert von ListIndex zu verfolgen und Probleme leichter zu identifizieren.
  • Benutzerfreundlichkeit: Überlege, visuelle Hinweise einzubauen, die den Benutzer darüber informieren, dass die Auswahl in der anderen Listbox aufgehoben wurde.
  • Ereignisse: Verstehe die verschiedenen Listbox-Ereignisse (wie Click, Change, etc.), um die Funktionalität weiter zu optimieren.

FAQ: Häufige Fragen

1. Wie kann ich die Markierung in mehreren Listboxen gleichzeitig aufheben?
Du kannst einfach mehrere Zeilen im Click-Ereignis hinzufügen, um die Markierung in weiteren Listboxen aufzuheben.

2. Was passiert, wenn ich die MultiSelect-Option für die Listbox aktiviere?
Wenn MultiSelect aktiviert ist, musst Du sicherstellen, dass der Code die Logik zur Verwaltung mehrerer Auswahlen berücksichtigt, da der ListIndex in diesem Fall nicht nur einen Wert annehmen kann.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige