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

Forumthread: ToggleButton

ToggleButton
26.02.2005 22:17:50
Daniel
Guten Abend miteinander.
Ich möchte mit Hilfe eines ToggleButtons die Schriftart formatieren (z.B. Fett) und zwar so, wie dies in der Symbolleiste von Excel auch möglich ist: Wenn die Schriftart der aktuellen Zelle Fett formatiert ist, soll der ToggleButton "eingeschaltet" sein, ansonsten ausgeschaltet. Mit Hilfe der WorksheetSelection_Change Funktion frage ich die Formatierung der aktuellen Zelle ab: if ActiveCell.Font.Bold = True Then ToggleButton.Value = True. Mit diesem Befehl wird aber gleichzeitig das Toggle_Button1_Change()-Ereignis aktiviert, das heisst das Programm verzweigt, sobald der Cursor z.B. mittels Pfeiltasten auf eine Zelle mit fett formatiertem Text bewegt wird, in diese Sub Prozedur. Wenn ich aber an der Formatierung nichts ändern will, darf der Befehl ToggleButton.Value = True auch nichts weiter bewirken, da ich die Formatierung ja ausschliesslich mit einem Klick auf den Button ändern möchte, also z.B. von Fett wieder auf Normal. Es gelingt mir aber nicht, im Toggle_Button1_Change()-Ereignis die verschiedenen Möglichkeiten zu unterscheiden. Ich müsste die Möglichkeit haben, innerhalb der WorksheetSelection_Change Funktion den ToggleButton als "eingeschaltet" zu visualisieren, ohne dabei ein Klick-Ereignis auszulösen. Bisher suche ich allerdings ohne Erfolg. Kann mir da jemand helfen? Sorry, wenn meine Frage etwas lang wurde.
Besten Dank für eine Antwort.
Daniel
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: ToggleButton
Ulf
Ist der TB in einer Tabelle?
Ulf
AW: ToggleButton
26.02.2005 22:29:52
Daniel
Ja, der TB befindet sich in einer Tabelle. Sorry, das vergass ich zu erwähnen.
Gruss Daniel
AW: ToggleButton
Ulf
Option Explicit
Dim stopp As Boolean
Private Sub ToggleButton1_Click()
If stopp Then Exit Sub
If ToggleButton1 Then
ToggleButton1.Caption = "Fett"
Else
ToggleButton1.Caption = "schlank"
End If
Selection.Font.Bold = ToggleButton1
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
Set c = ActiveCell
stopp = True
If c.Font.Bold Then
ToggleButton1.Caption = "Fett"
Else
ToggleButton1.Caption = "schlank"
End If
ToggleButton1 = c.Font.Bold
stopp = False
End Sub

Ulf
Anzeige
Danke
27.02.2005 23:22:30
Daniel
Hallo Ulf
Ich komme erst jetzt dazu, mich für Deine Antwort zu bedanken. Ich habe den Code von Dir noch geringfügig geändert und nun funktioniert es wie gewünscht. Nochmals herzlichen Dank!
Gruss Daniel
;

Forumthreads zu verwandten Themen

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

Toggle Button in Excel VBA: So funktioniert's


Schritt-für-Schritt-Anleitung

  1. ToggleButton in Excel hinzufügen:

    • Gehe zu "Entwicklertools" in der Menüleiste.
    • Wähle "Einfügen" und dann unter "Formularsteuerelemente" den ToggleButton aus.
    • Platziere den ToggleButton auf deinem Arbeitsblatt.
  2. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Code eingeben:

    • Klicke auf das Arbeitsblatt, wo sich dein ToggleButton befindet.
    • Füge den folgenden VBA-Code ein:
    Option Explicit
    Dim stopp As Boolean
    
    Private Sub ToggleButton1_Click()
       If stopp Then Exit Sub
       If ToggleButton1 Then
           ToggleButton1.Caption = "Fett"
       Else
           ToggleButton1.Caption = "schlank"
       End If
       Selection.Font.Bold = ToggleButton1
    End Sub
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       Dim c As Range
       Set c = ActiveCell
       stopp = True
       If c.Font.Bold Then
           ToggleButton1.Caption = "Fett"
       Else
           ToggleButton1.Caption = "schlank"
       End If
       ToggleButton1 = c.Font.Bold
       stopp = False
    End Sub
  4. Schließe den VBA-Editor und teste den ToggleButton auf deinem Arbeitsblatt.


Häufige Fehler und Lösungen

  • ToggleButton funktioniert nicht: Überprüfe, ob der ToggleButton korrekt mit dem entsprechenden VBA-Code verknüpft ist. Stelle sicher, dass der Name des ToggleButtons im VBA-Code mit dem Namen auf dem Arbeitsblatt übereinstimmt.

  • Unendliche Schleife: Wenn der ToggleButton ständig zwischen den Zuständen wechselt, könnte es an der stopp-Variable liegen. Achte darauf, dass stopp korrekt gesetzt wird, um unerwünschte Klickereignisse zu vermeiden.


Alternative Methoden

Wenn du den Excel Toggle Button nicht verwenden möchtest, kannst du auch einen HTML Toggle Button erstellen, wenn du deine Excel-Daten in eine Webanwendung integrieren möchtest. Dabei kannst du JavaScript und CSS verwenden, um den Button interaktiv zu gestalten.


Praktische Beispiele

  • Beispiel 1: Wenn der ToggleButton auf "Fett" eingestellt ist, wird der Text in der aktuellen Zelle fett dargestellt. Wenn du erneut auf den Button klickst, wird der Text wieder normal formatiert.

  • Beispiel 2: Du kannst den ToggleButton auch nutzen, um die Schriftfarbe oder andere Formatierungen zu ändern, indem du den entsprechenden Code anpasst.


Tipps für Profis

  • Verwende benutzerdefinierte Farben: Du kannst die Hintergrundfarbe des ToggleButtons ändern, um ihn mehr hervorzuheben.

  • Füge weitere Formatierungsoptionen hinzu: Erweitere den Code, um zusätzliche Formatierungsfunktionen wie Kursivschrift oder Schriftgröße zu integrieren.


FAQ: Häufige Fragen

1. Was ist ein ToggleButton in Excel?
Ein ToggleButton ist ein interaktives Steuerelement, das zwischen zwei Zuständen umschaltet, z.B. "ein" und "aus". In Excel kann er verwendet werden, um Formatierungen anzuwenden.

2. Wie kann ich die Schriftart mit einem ToggleButton ändern?
Indem du den oben genannten VBA-Code verwendest, kannst du die Schriftart der ausgewählten Zelle ändern, indem du auf den ToggleButton klickst.

3. Funktioniert der ToggleButton in allen Excel-Versionen?
Ja, die beschriebenen Schritte sollten in den meisten modernen Excel-Versionen funktionieren, einschließlich Excel 2016, 2019 und Microsoft 365.

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