Supportnet / Forum / Tabellenkalkulation
Makro gesucht
Frage
Hallo zusammen
Ich habe eine Arbeitsmappe mit 365 Tabellenblätter ( für jeden tag im Jahr ein Tabellenblatt) erstellt . Nun suche ich ein Makro , das bei jedem Windows Start Excel und diese Arbeitsmappe mit dem dazugeörendem Tabellenblatt automatisch öffnet
wer kann mir helfen !!!!!!!!!!!!!!!!!!
Danke im vorraus
Frohe Ostern
Antwort 1 von powder
Hallo,
du könntest z.B. in deiner Arbeitsmappe im VBA Projekt undter DieseArbeitsmappe
Private Sub Workbook_Open()
ThisWorkbook.Sheets(DateDiff("d", "01.01.2005", Date).Activate
End Sub
eintragen dann sollte, vorrausgesetz die Tabellenblätter sind korrekt geordnet das passende aktiviert werden. Wenn sie verborgen sind kannst du natürlich auch mit der Eigenschaft .Visible arbeiten.
Wie du Excel dazu überredest beim öffnen immer automatisch das Blatt zu nehmen weiß ich leider im Augenblick nicht, da kann vielleicht noch jemand anderes weiterhelfen.
MfG Tino
du könntest z.B. in deiner Arbeitsmappe im VBA Projekt undter DieseArbeitsmappe
Private Sub Workbook_Open()
ThisWorkbook.Sheets(DateDiff("d", "01.01.2005", Date).Activate
End Sub
eintragen dann sollte, vorrausgesetz die Tabellenblätter sind korrekt geordnet das passende aktiviert werden. Wenn sie verborgen sind kannst du natürlich auch mit der Eigenschaft .Visible arbeiten.
Wie du Excel dazu überredest beim öffnen immer automatisch das Blatt zu nehmen weiß ich leider im Augenblick nicht, da kann vielleicht noch jemand anderes weiterhelfen.
MfG Tino
Antwort 2 von coros
Moin Sailor007,
meine Lösung wäre folgende. Kopiere nachfolgenden Code in das VBA Projekt "DieseArbeitsmappe" Deiner Datei.
Private Sub Workbook_Open()
Sheets(Mid(Now, 1, 6)).Activate
End Sub
Mit dem VBA Code wird eim Öffnen der Datei immer das Blatt das zu dem aktuellen Datum gehört aufgerufen. Bedingung bei dem obigen Code ist es allerdings, dass die Tabellenblätter z.B. 30.03. heißen. Wenn sie bei Dir z.B. 30.03 oder 30.03.2005 heißen, dann musst Du in dem Code in der Zeile
Sheets(Mid(Now, 1, 6)).Activate
die Zahl 6, die aussagt wieviel Stellen des Datums (Now) ausgelesen werden sollen, gegen z.B. 5, damit man 30.03 oder 10 um 30.03.2005 zu erhalten.
Damit dann allerdings die Datei automatisch beim Starten von Windows gestartet wird, musst Du eine Verknüpfung Deiner Datei in den Autostartordner legen. Wie das geht, wirst Du doch sicherlich wissen.
Ich hoffe, dass Dich meine Lösung etwas weitergebracht hat. Bei Fragen oder Problemen mit dem Code, melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
meine Lösung wäre folgende. Kopiere nachfolgenden Code in das VBA Projekt "DieseArbeitsmappe" Deiner Datei.
Private Sub Workbook_Open()
Sheets(Mid(Now, 1, 6)).Activate
End Sub
Mit dem VBA Code wird eim Öffnen der Datei immer das Blatt das zu dem aktuellen Datum gehört aufgerufen. Bedingung bei dem obigen Code ist es allerdings, dass die Tabellenblätter z.B. 30.03. heißen. Wenn sie bei Dir z.B. 30.03 oder 30.03.2005 heißen, dann musst Du in dem Code in der Zeile
Sheets(Mid(Now, 1, 6)).Activate
die Zahl 6, die aussagt wieviel Stellen des Datums (Now) ausgelesen werden sollen, gegen z.B. 5, damit man 30.03 oder 10 um 30.03.2005 zu erhalten.
Damit dann allerdings die Datei automatisch beim Starten von Windows gestartet wird, musst Du eine Verknüpfung Deiner Datei in den Autostartordner legen. Wie das geht, wirst Du doch sicherlich wissen.
Ich hoffe, dass Dich meine Lösung etwas weitergebracht hat. Bei Fragen oder Problemen mit dem Code, melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 3 von powder
Hi Coros,
du setzt da aber schon viel Vorraus was die Bezeichnung der Tabelelnblätter angeht. ;-)
Es wäre eben nett zu wissen wie diese aussehen oder irgendein Feedback zu erhalten, wenn man schon versucht zu helfen.
Hi Sailor,
auch wenn ich nicht weiß ob du noch hier reinschaust. Ich bin da zufällig noch über ne Option gestolpert
In Extras->Optionen ->Allgemein kann man einen Ordner angeben aus dem beim Start von Excel alle files geladen werden. Wenn du Excel nun noch zum Autostart von Windows hinzufügst, sollte das dein Problem lösen.
MfG
Tino
du setzt da aber schon viel Vorraus was die Bezeichnung der Tabelelnblätter angeht. ;-)
Es wäre eben nett zu wissen wie diese aussehen oder irgendein Feedback zu erhalten, wenn man schon versucht zu helfen.
Hi Sailor,
auch wenn ich nicht weiß ob du noch hier reinschaust. Ich bin da zufällig noch über ne Option gestolpert
In Extras->Optionen ->Allgemein kann man einen Ordner angeben aus dem beim Start von Excel alle files geladen werden. Wenn du Excel nun noch zum Autostart von Windows hinzufügst, sollte das dein Problem lösen.
MfG
Tino
Antwort 4 von coros
Hi Tino,
mit den Blattnamen hast Du sicherlich recht, aber mir ist als erstes eingefallen, als ich die Frage gelesen habe, dass die 365 Tabellenblattnamen nach dem Datum benannt sind, also für heute eben 31.03. Daran habe ich mich dann bei der Umsetzung des Codes festgehalten. Aufklären kann das sicherlich nur Sir Sailor007. Allerdings glaube ich nicht, dass da noch ein Feedback kommt.
Ach so Tino, schau doch noch mal in Deiner Frage wegens des Doppelklick nach, mir ist da noch eine Lösung eingefallen, die ich Dir dort gepostet habe.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
mit den Blattnamen hast Du sicherlich recht, aber mir ist als erstes eingefallen, als ich die Frage gelesen habe, dass die 365 Tabellenblattnamen nach dem Datum benannt sind, also für heute eben 31.03. Daran habe ich mich dann bei der Umsetzung des Codes festgehalten. Aufklären kann das sicherlich nur Sir Sailor007. Allerdings glaube ich nicht, dass da noch ein Feedback kommt.
Ach so Tino, schau doch noch mal in Deiner Frage wegens des Doppelklick nach, mir ist da noch eine Lösung eingefallen, die ich Dir dort gepostet habe.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 5 von Sailor007
Hallo an alle , die mir helfen wollen . Kann mich nur am Wochenende bedanken Werde die Tips testen und mich noch mal melden Danke an alle