Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema OptionButton
BildScreenshot zu OptionButton OptionButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ScrollBar
BildScreenshot zu ScrollBar ScrollBar-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema SpinButton
BildScreenshot zu SpinButton SpinButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Toggle Button gleich nach Öffnung aktivieren

Betrifft: Toggle Button gleich nach Öffnung aktivieren von: Andreas Hanisch
Geschrieben am: 23.06.2008 18:03:48

Hallo Herber Fans,

ich habe mit Hilfe dieses Forums (Dank an Renée und Reinhard!) es geschafft, einen Toggle Button in ein SubMenü zu integrieren und über diesen Toggle Button werden Überwachungsfunktionen gesteuert. In der Beispieldatei wird die Fensterfixierung automatisch adjustiert.
Mein Problem nun: Wenn die Datei geöffnet wird, steht der Toggle Button (Im SubMenü) auf inaktiv. D.h. die Lampe ist weiß und der Überwachungsstatus ist negativ. Erst wenn ich OnAction anspreche durch Klick ist der Überwachungsstatus gesetzt.
Wie kann ich erreichen, daß nach Öffnen den Datei das Betätigen des Toggle Buttons „simuliert“ wird? Ich habe schon mit dem ButtonState experimentiert – ohne Erfolg.
Das dazugehörige „Ein/ Aus“ Makro über CALL anzusprechen. Aber dann kommt eine Fehlermeldung bezüglich With/ Objektvariablen.

Wie kann ich also den gedrückten Toggle Button Status gleich nach der Öffnung automatisch herstellen. Ich bin mit meinem Latein am Ende und würde mich freuen, wenn jemand von Euch eine Idee für die Realisierung hat.

https://www.herber.de/bbs/user/53286.xls

Dank und Gruß, Andreas Hanisch

  

Betrifft: AW: Toggle Button gleich nach Öffnung aktivieren von: Luschi
Geschrieben am: 23.06.2008 22:50:21

Hallo Andreas,

so sollte es funktionieren:

Private Sub Workbook_Open()
    CreateMyCommandBar
    ''Call Ein_Aus_3
    With Application.CommandBars(MyCommandBarName).Controls("PivotDialoge").CommandBar.Controls( _
"Pivot Fensterueberwachung")
       .FaceId = 352
       .State = True
    End With
End Sub

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Toggle Button gleich nach Öffnung aktivieren von: Andreas Hanisch
Geschrieben am: 25.06.2008 13:36:55

Hallo Luschi,

vielen Dank für Deinen Lösungsansatz. Es funktioniert auch, daß der Button den Control State „True“ und die rote Lampe nach Öffnung bekommt. Aber es ist so, daß das onAction Attribut dieses Buttons bei Druck ein anderes Makro aufruft, welches Boolean Werte festlegt, von denen es abhängig ist, ob ein Überwachung der Pivot durchgeführt wird oder nicht.
Wenn der Button State auf True gesetzt wird, habe ich dadurch aber leider noch nicht das Makro „Ein_Aus_3“ angesprochen.
Am besten wäre es, wenn ich – so wie Du es aufgezeigt hast – über eine With Anweisung mit genauer Bestimmung des Buttons auch das onAction auslösen könnte.
Oder ich rufe bei Öffnung gleich via CALL das Makro „Ein_Aus_3“ auf, und baue davor Deine Anweisung ein, um den Status auf True zu setzen und anschließend gleich den Status auszuwerten.
Ziel soll es sein, daß die Datei geöffnet wird, der Button auf True geht, seine Rote Lampe bekommt und der Boolsche Wert PivotUeberwachung True ist.

Ich habe noch einiges experimentiert, aber ich fand nichts, um onAction auch ohne Klick zu simulieren. Ich habe mit Deinem With Ansatz noch experimentiert, aber ich bekomme im „Ein_Aus_3“- Code wieder die With Fehlermeldung bei der IF Auswertung des Status.

https://www.herber.de/bbs/user/53348.xls

Hast Du noch ein Idee, wie das realisiert werden könnte?

Vielen Dank und Gruß, Andreas


  

Betrifft: AW: Toggle Button gleich nach Öffnung aktivieren von: Luschi
Geschrieben am: 25.06.2008 17:39:30

Hallo Andreas,

habe mal für die Sub 'Ein_Aus_3' es so gemacht, daß man einen Parameter übergeben kann.
An ihn kann man prüfen, ob 'Ein_Aus_3' beim Öffnen der Datei (0) oder durch Betätigen des Menü-Buttons (1) aufgerufen wurde.
Beachte dazu auch die .OnAction-Definition für den Button im Menü.

https://www.herber.de/bbs/user/53355.xls

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Toggle Button gleich nach Öffnung aktivieren von: Andreas Hanisch
Geschrieben am: 25.06.2008 19:01:31

Hallo Luschi,

ich habe Deine Code Konstruktion gerade getestet. Sie läuft absolut sauber durch, so wie es sein soll. Auf die Idee, mit Operatorenzeichen an die .OnAction Eigenschaft variable Parameter zu verknüpfen wäre ich im Leben nicht gekommen. Dieses Vorgehen habe ich noch nie gesehen, aber es funktioniert! Ich werde mir den Code ausgeruht noch einmal ansehen und damit experimentieren.

Vielen Dank für diese geniale Lösung!

Herzliche Grüße aus Berlin, Andreas


  

Betrifft: AW: Toggle Button gleich nach Öffnung aktivieren von: Luschi
Geschrieben am: 25.06.2008 19:27:14

Hallo Andreas,

die Datei-Öffnen-Prozedur kannst Du wie folgt kürzen:

Private Sub Workbook_Open()
   CreateMyCommandBar
   Call Ein_Aus_3(0)
End Sub

Gruß von Luschi
aus klein-Paris


 

Beiträge aus den Excel-Beispielen zum Thema "Toggle Button gleich nach Öffnung aktivieren"