Excel Makro x nur einmal ausführen. nächstes mal wieder ausführbar wenn makro y vorher ausgeführt wurde?
guten morgen, bekomme es einfach nicht hin, dass makro 2 nur einmal ausgeführt wird und das nächste mal wieder ausführbar ist wenn ich vorher makro 1 betätigt habe. makro 1 speichert bestimmte daten, die in eingabefelder eingegeben wurde und leert diese anschließend. mit dem 2. makro kann man die zuletzt eingegebene daten zurückrufen und bearbeiten. natürlich soll dies nciht endlos gehen, da sonst alle jemals einegegebene daten gelöscht/ überschriebeen werden indem man oft genug auf makro 2 ("bearbeiten") drückt. hier ist schon mal der anfang den ich mir zusammengebastelt habe:
Sub zurückbutton()
Select Case KlickNr
Case 0: Call bearbeitenbuttonteil1
Case 1: Call MsgBox("Nur die zuletzt eingegebene Daten können bearbeitet werden.")
End Select
KlickNr = KlickNr + 1
If KlickNr >= 1 Then
End Sub
nun ist es leider so, dass der button trotzdem unendlich male ausgeführt werden kann. ich habe es mit end with und exit versucht aber dann bekäme ich es ja nciht wieder hin, dass der button aktiviert wird nachdem ich makro 1("speichern") gedrückt habe
1 Antwort
Die Variable KlickNr sollte Global definiert sein. Zudem muss die Abbruchbedingung am Anfang stehen, sonst werden die Anweisungen im Markro auch ausgeführt, wenn die Bedingung nicht zutrifft. Der Abbruch kann mit Exit Sub programmiert werden.
klappt! Danke!
Wie bekomme ich es denn hin, dass der button wieder aktiviert wird, wenn ich vorher einen anderen ybutton betätigt habe. ich dachte ich könnte schlicht und einfach beim button y das einfügen:
Buttonx.Enabled = True
und so erzielen, dass wenn dieser betätigt wird der buttonx wieder aktiviert wird. klappt nicht. Gibt es da eine gute variante?
Müsste funktionieren mit .Enabled auf True oder False setzen. Also muss noch irgendwo ein Fehler drin sein. Falls man hier auch Files verschicken kann, kannst du mir dein gezipptes Excel schicken, dann guck ich mal rein, kann aber etwas dauern, bis ich dazu komme.
trotzdem wird er ja dann nicht mehr ausgeführt obwohl ich den button y sdrücke. tut mir leid meine kenntnisse sind nicht gut genug aber die bedingung steht doch schon am anfang oder nicht ?!