BeforeClose CommandButton auf Ausgangsstellung
#31
Hallo Uwe,

Das ist Grund für meine Anmerkung in #4 Wink
Na ja, und die Fehlermeldung spricht dann für sich, da fehlt was Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#32
Ihr habt mir bis jetzt super geholfen, aber jetzt, glaube ich, wollt ihr zu meiner Verwirrung beitragen.

Es kommt leider bei allen Vorschlägen eine Fehlermeldung. Meist die in #27 genannte, aber auch "For-Steuervariable wird bereits verwendet." beim Versuch mit schauans Vorschlag in #29.

Hat es denn gravierende Nachteile mit

Dim Blaetter As Variant

?
Top
#33
Hallo,

ich nehme an, Du hast Dich immer noch an der einheitlichen Einstellung der Buttons auf mehreren Blättern verbissen.

Gestern Abend hatte ich eine Zwiesprache mit meinem Kopfkissen und es fragte mich, na, und fällt Dir denn keine
einfache Lösung für dieses Problem ein? Wie würdest Du das denn machen?

Hier meine Antwort:
Ich würde beim Start der Datei im Workbook_Open-Ereignis eine globale Variable starten, die von den Buttons
abgefragt wird. Dadurch sollte es meiner bescheidenen Meinung nach zu der von Dir gewünschten Gleichschaltung
der Button-Captions kommen. Also, getestet habe ich das nicht; nur gedacht :19: .
Top
#34
Hallo Peter,

Die Buttons fragen am Anfang aber nicht von selbst was ab Sad Eine Anfangseinstellung ka nn es nur unabhängig eben.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#35
Hi, nee, die Gleichschaltung funktioniert schon länger. Es geht darum, dass die Buttons beim Öffnen immer auf "Eingabe" stehen. Funktioniert eigentlich auch. Es geht um besagte Feinheit. Die Perfektionierer-Gemeinde, deren Vorsteher ich sein könnte, wenn ich mehr Ahnung hätte, ist mit meiner Dim-Anweisung nicht zufrieden. Aber immerhin gibt's da keine Fehlermeldung  :05:

Daher war meine Frage ob man mit

Dim Blaetter As Variant

nicht leben kann.

Dein Idee klingt aber interessant. Aber ich glaube nicht, dass sie letztlich im Detail einfacher umzusetzen ist. Gut, für den größten Seefahrer unserer Zeit.....
Top
#36
Hallöchen,

doch, das wird schon. Das was fehlt, wie ich weiter oben schrieb, liegt daran, dass der Code blaetter.commandbutton1 im Klassenmodul des Tabellenblattes funktioniert, in DieseArbeitsmappe nicht mehr. Änderung kommt gleich Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#37
...so, hier ist er.

Code:
Private Sub Workbook_Open()
  Dim blaetter As Worksheet
  For Each blaetter In Worksheets         ' Code (geändert)
     blaetter.OLEObjects("Commandbutton1").Object.Caption = "Eingabe"
  Next
End Sub

Übrigens erschließt sich mir nicht, was Du mit dem Comment ... erreichen wolltest?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#38
Hi, so kommt keine Fehlermeldung mehr. Auch mit dem Comment... nicht. Hab's mit deiner neuen Version nochmal ohne probiert - aber der Ursprung dieser Zeile ist ja, dass ALLE Buttons auf "Eingabe" sind nach Öffnen der Mappe. Ohne sie ist dies nur in "Tabelle1" der Fall. Und dies auch nur vorübergehend. Beim Hin- und Herwechseln nimmt der Button den Zustand der anderen CommandButton1-Buttons an.

Stefan hat im anderen Thread geschrieben, dass die Zeile die Ursache für die Probleme mit Uwes BeforeClose-Code sind, aber mit deiner neuen Version klappt es trotz Comment...

Wenn ich mich nicht täusche, verliefen meine ersten Tests teilweise auch wieder negativ (bin mir relativ sicher es waren diesselben Codes wie die aktuellen), bin mir aber nicht zu 100% sicher, weil der BeforeClose jetzt läuft.
Entweder tauchte eine Meldung auf (kann mich an deren Inhalt leider nicht exakt erinnern), oder Application.Dialogs(xlDialogSaveAs).Show("Dateiname") funktionierte nicht, oder aber alles funktionierte.
Top
#39
Hallo,

stelle im Workbook_Open-Makro vor End Sub die Datei auf gespeichert (ohne wirklich zu speichern). Dann sollte Before_Close so funktionieren wie erwartet.
Private Sub Workbook_Open()
'
'
 Me.Saved = True
End Sub
Allerdings können schon belanglose Aktionen wie das Drücken der Esc-Taste dazu führen, dass die Datei als verändert angesehen wird.

Gruß Uwe
Top
#40
? Meinst du Aktionen während des Ladevorgangs, also bevor die Datei wirklich geöffnet ist?
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste