Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
692to696
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
692to696
692to696
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

variable Schaltfläche in Symbolleiste

variable Schaltfläche in Symbolleiste
08.11.2005 08:39:13
Oliver
Hallo
ich habe eine benutzerdefinierte Symbolleiste, in der ich meine Makros, die ich für das tägliche Leben brauche, abgespeichert habe.
Mit einer dieser Schaltflächen kann man das "autom. Berechnen!" ein- und wieder ausschalten.
Kann man, je nach Zustand, die Schaltfläche verändern? (Farbwechsel zwischen rot udn grün, oder so ähnlich?)
OP

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: variable Schaltfläche in Symbolleiste
08.11.2005 09:29:26
Galenzo
du kannst z.B. den Status des Buttons ändern: reingedrückt/nicht reingedrückt
Viel Erfolg!
variable Schaltfläche in Symbolleiste - Nachtrag
08.11.2005 09:39:04
Galenzo
oder das Icon via FaceID ändern, z.B.:
(hier mal für einen Button "Smiley" in der Menüleiste - das mußt du dann anpassen)
Dim myCommandBar As CommandBar
Dim myCommandBarButton As CommandBarButton
Set myCommandBar = Application.CommandBars("Worksheet Menu Bar")
Set myCommandBarButton = myCommandBar.Controls("Smiley")
With myCommandBarButton
If .FaceId = 2950 Then
.FaceId = 276
Call Mein_Makro
Else
.FaceId = 2950
Call Mein_Makro
End If
End With
Viel Erfolg!
Anzeige
AW: variable Schaltfläche in Symbolleiste
08.11.2005 09:53:38
Oliver
Hallo
das ist eine gute Lösung, aber wie macht man das?
Danke
OP
AW: variable Schaltfläche in Symbolleiste - Status
08.11.2005 11:56:57
Galenzo
also ich mache das z.B. so:
(Auschnitte aus meinem Code einer Prozedur, wo die Pünktchen sind steht bei mir weiterer Code)
Vorteil ist, daß du den Buttonstatus auch zur Verzweigung nutzen kannst - bei dir also, ob die Berechnung auf manuell oder automatisch gesetzt werden soll

Sub Color_Formula()
On Error Resume Next
Static bolState As Boolean
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
If bolState Then
CommandBars("Teilen").Controls("Formeln markieren").State = msoButtonUp
Else
CommandBars("Teilen").Controls("Formeln markieren").State = msoButtonDown
End If
bolState = Not bolState
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
End Sub

Viel Erfolg!
Anzeige
AW: variable Schaltfläche in Symbolleiste - Status
08.11.2005 14:20:43
Oliver
Also bei mir sieht das so aus:

Sub Berechnenumschalten()
With Application
If .Calculation = xlManual Then
.Calculation = xlAutomatic
Else
.Calculation = xlManual
End If
End With
End Sub

Die Symbolleiste heißt "Olivers Symbolleiste", die Schaltfläche hat den Namen "Rechenautomatik"
Wie baue ich nun deinen Code (von oben) hier ein. Leider verstehe ich den Inhalt deines Makros noch nicht einmal zur Hälfte :-)
Danke für die Hilfe
OP
AW: variable Schaltfläche in Symbolleiste - Status
08.11.2005 16:14:27
Galenzo

Sub Rechenautomatik()
Static bolState As Boolean
Dim cbb As CommandBarButton
Set cbb = CommandBars("Olivers Symbolleiste").Controls("Rechenautomatik")
If bolState Then
Application.Calculation = xlManual
cbb.State = msoButtonUp
Else
Application.Calculation = xlAutomatic
cbb.State = msoButtonDown
End If
bolState = Not bolState
End Sub

Viel Erfolg!
Anzeige
AW: variable Schaltfläche in Symbolleiste - Status
09.11.2005 09:47:15
Oliver
Hallo
also ich wollte mich an erster Stelle einmal für die Menge Geduld bedanken, mit der man mein Problem bearbeitet.
Leider funktioniert es noch nicht so, wie ich mir vorstelle, dass es funktionieren sollte. Daher will ich mal kurz erläutern, was ich gemacht habe. Vieleicht ist der Fehler bei mir...
Also ich habe den Quellcode (siehe oben) kopiert und als Makro in meine Personl.xls eingefügt. Dann habe ich in meine persönliche Symbolleiste eine Schaltfläche eingebaut (dabei habe ich als Sysmbol das Smiley gewählt). Dieser Schaltfläche habe ich nun das Makro "Rechenautomatik" zugewiesen. Den Namen der Schaltfläche habe ich ebenfalls "Rechenautomatik" genannt.
Nun erwarte ich folgendes:
Klickt man auf die Schaltfläche, wird die Rechenautomatik auf manuell gesetzt und die Schaltfläche bekommt eine gedrückte Darstellung. Klickt man die Schalfläche erneut, ändert sich der Status der Rechenautomatik von manuell auf automatisch und die Darstellung der Schaltfläche wird wieder in einen ungedrückten Zustand zugesetzt.
Es es dass, was das Makro machen soll?
Grüße und nochmals vielen Dank für die Hilfe
Oliver Pohl
Anzeige
AW: variable Schaltfläche in Symbolleiste - Status
09.11.2005 12:10:06
Galenzo
Nein, du hast alles richtig gemacht. Es scheint aber in der Tat Probleme mit dem Smiley-Button zu geben (Befehle/Makros/Benutzerdef. Schaltfläche).
Es gibt 2 Alternativen:
1) Nimm irgendeinen andern Symbolbutton (z.B. von "Datei neu") und weise diesem das Makro zu.
2) Nimm weiterhin den Smiley und dafür aber DIESEN Code:

Sub Rechenautomatik()
Static bolState As Boolean
Dim cbb As CommandBarButton
Set cbb = CommandBars("Olivers Symbolleiste").Controls("Rechenautomatik")
If bolState Then
Application.Calculation = xlManual
cbb.FaceId = 2950
Else
Application.Calculation = xlAutomatic
cbb.FaceId = 276
End If
bolState = Not bolState
End Sub

Viel Erfolg!
Anzeige
AW: variable Schaltfläche in Symbolleiste - Status
09.11.2005 14:53:36
Oliver
Hallo
Super, nun hat es geklappt. Aber sag, was heißt den
cbb.FaceId = 276
Gibt es da noch andere Werte? Oder woher bekommt er diese Bilder?
Danke für die Hilfe!
AW: variable Schaltfläche in Symbolleiste - Status
09.11.2005 15:07:14
Galenzo
EXCEL hat da schon 'ne Menge Icons eingebaut. Diese kannst du mit der .FaceID-Nummer zuweisen.
Suche hier mal nach "Herber's Symbol-Picker"-Addin (evtl. bei Downloads); damit kannst du all diese Symbole anzeigen lassen und siehst auch gleich die entsprechende Nummer dazu.
Viel Erfolg!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige