Supportnet Computer
Planet of Tech

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

Antwort 2 von M.O.

Hallo Tom,

schreibe folgende Codezeile als erste in dein Makro:

asn = ActiveSheet.Name


Als letzte Zeile vor End Sub schreibst du:

Worksheets(asn).Activate


Das 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

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

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.

Antwort 6 von Hajo_Zi

Hallo Tom,

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.

Worksheets("Protokollierung").Activate
Cells(1, 1) = Now


schreibst du:

Worksheets("Protokollierung").Cells(1, 1) = Now


Gruß

M.O.

Antwort 8 von Tomschi

Hi M.O.!

Danke für das Beispiel.

Tom