Wie kann ich in eine Spalte einer Listbox einen "Haken" einfügen? Das ist ein Sonderzeichen. Ich meine das Symbol für z.B. zum Abhaken von Vorgängen.
MfG
Holger Wächter
Private Sub UserForm_Activate()
Dim rngSource As Object
Dim intColums As Integer
ListBox1.Tag = 1
Set rngSource = Range("A1").CurrentRegion
' Die oberste Zeile enthaelt die Feldnamen.
' Diese brauchen wir nur dort um die Columnheader darzustellen,
' aber nicht fuer die Listboxeintraege.
' Also den Datenbereich um die Erste Zeile reduzieren.
Set rngSource = rngSource.Offset(1, 0).Resize(rngSource.Rows.Count - 1, rngSource.Columns.Count)
' Spaltenanzahl des Datenbereichs ermitteln.
intColums = rngSource.Columns.Count
With Me.ListBox1
.ListStyle = fmListStyleOption ' Auswahlfeld zu Beginn der Zeile
' von Peter Haserodt
' nur eine Auswahl, bei .ListStyle = fmListStyleOption Optionbutton in Listbox
'.MultiSelect = fmMultiSelectSingle
' mehrere können ausgewählt werden,.ListStyle = fmListStyleOption checkboxen in Listbo
.MultiSelect = fmMultiSelectMulti
'.MultiSelect = fmMultiSelectExtended
' gibt eigentlich nur bei Liststyle Plain einen Sinn, funzt aber auch anders.
' Dies bewirkt, dass mit Shift und Strg Tasten eine Mehrfachauswahl getroffen
' werden kann
.ColumnCount = intColums
.ColumnHeads = True
.RowSource = rngSource.Address
End With
Set rngSource = Nothing
ListBox1.Tag = ""
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 Then
Cancel = True 'keine Zellbearbeitung möglich
If Target.Value = "" Then
Target.Value = "a"
Target.Font.Name = "Webdings"
Target.Offset(0, 1).Interior.ColorIndex = 35
Else
Target.Value = ""
Target.Offset(0, 1).Interior.ColorIndex = xlNone
End If
End If
End Sub
Um ein Häkchen oder ein Haken-Symbol in eine Listbox in Excel einzufügen, kannst Du mit VBA (Visual Basic for Applications) arbeiten. Hier ist eine Schritt-für-Schritt-Anleitung:
Öffne Excel und gehe zu dem Arbeitsblatt, wo Du die Listbox erstellen möchtest.
Drücke ALT + F11, um den VBA-Editor zu öffnen.
Füge ein neues UserForm hinzu:
Ziehe eine Listbox auf das UserForm.
Füge den folgenden Code in das UserForm ein:
Private Sub UserForm_Activate()
Dim rngSource As Object
Dim intColums As Integer
ListBox1.Tag = 1
Set rngSource = Range("A1").CurrentRegion
Set rngSource = rngSource.Offset(1, 0).Resize(rngSource.Rows.Count - 1, rngSource.Columns.Count)
intColums = rngSource.Columns.Count
With Me.ListBox1
.ListStyle = fmListStyleOption
.MultiSelect = fmMultiSelectMulti
.ColumnCount = intColums
.ColumnHeads = True
.RowSource = rngSource.Address
End With
Set rngSource = Nothing
ListBox1.Tag = ""
End Sub
Um ein Häkchen einzufügen, kannst Du den folgenden Code in eine Zelle einfügen, die das Häkchen darstellt:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 Then
Cancel = True
If Target.Value = "" Then
Target.Value = "a"
Target.Font.Name = "Webdings"
Else
Target.Value = ""
End If
End If
End Sub
Schließe den VBA-Editor und teste das UserForm.
Problem: Das Häkchen wird nicht angezeigt.
Lösung: Stelle sicher, dass die Schriftart der Zelle, in die Du das Häkchen einfügen möchtest, auf „Webdings“ gesetzt ist. Andernfalls wird das „a“ nicht als Häkchen dargestellt.
Problem: Die Listbox zeigt nur die Häkchen, aber keine anderen Texte.
Lösung: Du kannst die Schriftart der Listbox anpassen. Verwende eine Schriftart, die dir die Häkchen und den Text gleichzeitig anzeigt, z.B. „Tahoma“.
Eine alternative Methode, um Häkchen in Excel einzufügen, besteht darin, das Häkchen-Symbol direkt als Sonderzeichen einzufügen. Du kannst den Zeichencode für das Häkchen verwenden:
ChrW(10004) für ein Häkchen.Beispiel:
Me.TextBox1.Text = "Hallo " & ChrW(10004)
Dies funktioniert möglicherweise auch in einer Textbox, sodass Du die Funktionalität für Listboxen testen kannst.
Wenn Du eine Listbox mit Häkchen füllen möchtest, kannst Du den folgenden Code verwenden:
Dim items As Variant
items = Array("Aufgabe 1", "Aufgabe 2", "Aufgabe 3")
Me.ListBox1.List = items
Um in der zweiten Spalte der Listbox Text anzuzeigen, kombiniere das Häkchen mit dem Text:
Me.ListBox1.AddItem "✔ Aufgabe 1"
Me.ListBox1.List(0, 1) = "In Bearbeitung"
1. Wie füge ich ein Häkchen in Excel ohne VBA ein?
Du kannst das Häkchen-Symbol durch die Funktion „Einfügen > Symbol“ im Menüband hinzufügen.
2. Was ist der Zeichencode für ein Häkchen?
Der Zeichencode für ein Häkchen ist ChrW(10004) in VBA.
3. Kann ich mehrere Häkchen gleichzeitig in eine Listbox einfügen?
Ja, Du kannst die Listbox so konfigurieren, dass mehrere Elemente ausgewählt werden können, indem Du .MultiSelect = fmMultiSelectMulti verwendest.