Supportnet / Forum / Tabellenkalkulation
VBA - zurück zum letzten Blatt
Frage
Guten Morgen!
Vor dem Speichern einer Arbeitsmappe halte ich das aktuelle Datum inkl. Uhrzeit im Blatt "Protokollierung" fest.
--> Private Sub Workbook_BeforeSave
Die Arbeitsmappe selbst umfasst ca. 20 Blätter
(Test01, Test02, ..., Protokollierung).
Nun ist es so, dass beim nächsten Öffnen der Cursor auf dem Blatt "Protokollierung" steht.
Ist es möglich, nach der "Protokollierung" wieder auf das zuletzt verwendete Blatt zurückzukehren?
Beispiel:
Cursor steht auf Test02 --> speichern (inkl. "Protokollierung") + schließen --> Datei öffnen = Cursor wieder auf Test02.
Thanx
Tom
Antwort 1 von Hajo_Zi
Hallo Nick,
atbeite nicht mit Activate und select und Du hast das Problem nicht.,
Gruß Hajo
atbeite nicht mit Activate und select und Du hast das Problem nicht.,
Gruß Hajo
Antwort 2 von M.O.
Hallo Tom,
schreibe folgende Codezeile als erste in dein Makro:
Als letzte Zeile vor End Sub schreibst du:
Das sollte dein Problem lösen.
Gruß
M.O.
schreibe folgende Codezeile als erste in dein Makro:
asn = ActiveSheet.NameAls letzte Zeile vor End Sub schreibst du:
Worksheets(asn).ActivateDas sollte dein Problem lösen.
Gruß
M.O.
Antwort 3 von Tomschi
Hi!
Hm, das mit
arbeite nicht mit Activate und select und Du hast das Problem nicht.
habe ich jetzt nicht kapiert.
Vielleicht bezieht sich die Antwort auch auf eine andere Frage.
--> Hallo Nick = ungleich mein Name
DANKE M.O., Deine Antwort war sehr hilfreich für mich.
Ciao
Tom
Hm, das mit
arbeite nicht mit Activate und select und Du hast das Problem nicht.
habe ich jetzt nicht kapiert.
Vielleicht bezieht sich die Antwort auch auf eine andere Frage.
--> Hallo Nick = ungleich mein Name
DANKE M.O., Deine Antwort war sehr hilfreich für mich.
Ciao
Tom
Antwort 4 von Hajo_Zi
Hallo Tom,
meine Antwort bezog sich schon auf Deine Frage, wenn Du in Deinen Code schaust wird Dir aufffallken das Du Activate und oder select verwenbdest. Der Cursur ist kein Hund der überall rumgeführt werden muss..
Endschuldigung mit der Anrede war ein versehen.
Gruß hajo
meine Antwort bezog sich schon auf Deine Frage, wenn Du in Deinen Code schaust wird Dir aufffallken das Du Activate und oder select verwenbdest. Der Cursur ist kein Hund der überall rumgeführt werden muss..
Endschuldigung mit der Anrede war ein versehen.
Gruß hajo
Antwort 5 von Tomschi
Hallo Hajo!
Danke für die Aufklärung.
In der Tat habe ich
Sheets("Protokollierung").Activate
eingebaut.
Wenn ich Activate weglasse, dann funktioniert das Makro auch ohne Probleme?
Wann genau soll man dann Activate verwenden bzw. weglassen?
Bye
Tom
P.S.:
Kein Problem wegen der Anrede.
Hat mich eben nur ein wenig verwirrt.
Danke für die Aufklärung.
In der Tat habe ich
Sheets("Protokollierung").Activate
eingebaut.
Wenn ich Activate weglasse, dann funktioniert das Makro auch ohne Probleme?
Wann genau soll man dann Activate verwenden bzw. weglassen?
Bye
Tom
P.S.:
Kein Problem wegen der Anrede.
Hat mich eben nur ein wenig verwirrt.
Antwort 6 von Hajo_Zi
Hallo Tom,
in VBA kann zu 99,9% auf select und Activate verzichtet werden.
Gruß Hajo
in VBA kann zu 99,9% auf select und Activate verzichtet werden.
Gruß Hajo
Antwort 7 von M.O.
Hallo Tom,
einfach Activate oder Select weglassen kannst du natürlich nicht.
Du musst den Code entsprechend anpassen.
Statt z.B.
schreibst du:
Gruß
M.O.
einfach Activate oder Select weglassen kannst du natürlich nicht.
Du musst den Code entsprechend anpassen.
Statt z.B.
Worksheets("Protokollierung").Activate
Cells(1, 1) = Nowschreibst du:
Worksheets("Protokollierung").Cells(1, 1) = NowGruß
M.O.
Antwort 8 von Tomschi
Hi M.O.!
Danke für das Beispiel.
Tom
Danke für das Beispiel.
Tom

