ToggleButton

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: ToggleButton
von: Daniel
Geschrieben am: 26.02.2005 22:17:50
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

Bild

Betrifft: AW: ToggleButton
von: Ulf
Geschrieben am: 26.02.2005 22:27:01
Ist der TB in einer Tabelle?
Ulf
Bild

Betrifft: AW: ToggleButton
von: Daniel
Geschrieben am: 26.02.2005 22:29:52
Ja, der TB befindet sich in einer Tabelle. Sorry, das vergass ich zu erwähnen.
Gruss Daniel
Bild

Betrifft: AW: ToggleButton
von: Ulf
Geschrieben am: 26.02.2005 22:42:47
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
Bild

Betrifft: Danke
von: Daniel
Geschrieben am: 27.02.2005 23:22:30
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
 Bild

Beiträge aus den Excel-Beispielen zum Thema "ToggleButton"