Clever-Excel-Forum

Normale Version: VBA - Bei Dateiöffnung Sprung zu Datum/KW
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe eine große Excel-Tabelle, bei der in Zeile 4 (ab Spalte 4) ein Kalender angelegt ist. Es ist quasi für die nächsten 2 Jahre jedes Datum angelegt - also beispielsweise "01.01.2019". 

Nun wollte ich ein Makro schreiben, damit Excel beim Öffnen der Datei immer direkt zum aktuellen Datum springt (ist übersichtlicher und man muss weniger scrollen).
Meinen Makro-Text habe ich anbei beigefügt.

Leider funktioniert das Makro nicht. Weiß jemand, woran das liegt bzw. was ich korrigieren muss? In einer anderen Datei habe ich statt dem jeweiligen Datum Kalenderwochen in der Zeile 4 stehen. Es wäre toll, wenn ich auch wüsste, wie ich es für Kalenderwochen schreiben muss.

Herzlichen Dank im Voraus!

Viele Grüße
Excel-Fan :)
Ein Excelfan postet keine Bilder, doch .....
Hi snb, 

in diesem Fall musste ich leider ausnahmsweise ein Bild schicken, da ich die Excel-Datei nicht auf diesem Rechner habe. Smile

Danke für deinen Input. Leider ist mir trotzdem noch nicht klar, wo bei meinem Makro der Fehler liegt und wie ich das Makro auch auf Kalenderwochen ummünzen könnte. 

Ich würde mich über einen weitern Tipp freuen! Smile

VG
Katharina
Wie können wir antworten wenn nicht klar ist wie diese Kalender aufgebaut ist ?
... vielleicht über einen anderen Ansatz?:
Code:
For Each rc In Range(...)
    If rc = Date Then
        rc.Select
        With ActiveWindow
           .ScrollRow = ...
           .ScrollColumn = ...
        End With
        Exit For
    End If
Next
Hallo zusammen,

vielen lieben Dank für die Rückmeldungen! 

Damit es einfacher wird, anbei die Excel-Datei. Im Tabellenblatt 1 ist die Datumsversion, bei der er mir beim Dateiöffnen auf den aktuellen Tag springen soll. 
Im Tabellenblatt 2 habe ich mal noch die Alternativvariante mit der Kalenderwoche eingefügt.

Viele Grüße
Katharina
Hallo Katharina,
Private Sub Worksheet_Activate()
Cells(4, Application.Match(CLng(Date), Rows(4), 0)).Select
End Sub
Gruß Uwe
Moin!
Ich bin ja immer der Meinung, dass man simple Rechnungen nicht unbedingt mittels "übertriebener" Worksheet-Functions erledigen lassen muss. Wink
Da in Tabelle1 ein Spalteninkrement von 1 Tag vorliegt, reicht auch:

Private Sub Worksheet_Activate()
  ActiveWindow.ScrollColumn = Date - #1/1/2018# + 3
End Sub


Gruß Ralf
… und für Tabelle2 nehme ich eine Ganzzahldivision:

Private Sub Worksheet_Activate()
  ActiveWindow.ScrollColumn = (Date - #1/1/2018#) \ 7 + 3
End Sub