VBA - Bei Dateiöffnung Sprung zu Datum/KW
#1
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 :)


Angehängte Dateien Thumbnail(s)
   
Top
#2
Ein Excelfan postet keine Bilder, doch .....
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#3
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
Top
#4
Wie können wir antworten wenn nicht klar ist wie diese Kalender aufgebaut ist ?
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#5
... 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
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Top
#6
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


Angehängte Dateien
.xlsx   Excel-Arbeitsmappe_19.11. - Kopie.xlsx (Größe: 33,45 KB / Downloads: 13)
Top
#7
Hallo Katharina,
Private Sub Worksheet_Activate()
Cells(4, Application.Match(CLng(Date), Rows(4), 0)).Select
End Sub
Gruß Uwe
Top
#8
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#9
… und für Tabelle2 nehme ich eine Ganzzahldivision:

Private Sub Worksheet_Activate()
  ActiveWindow.ScrollColumn = (Date - #1/1/2018#) \ 7 + 3
End Sub
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste