Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

VBA beim Öffnen





Frage

Hallo VBA Experten Habe Arbeitsmappe mit 52 TB erstellt, diese sind von 01- 52 benannt. Jetzt soll die aktuelle(jetzige KW) Kalenderwoche beim öffnen der Arbeitsmappe selektiert werden. Leider bin ich in VBA blutiger Anfänger, hofentlich kann mir einer von euch helfen. Gib es hier eine Möglichkeit? Schon mal vielen Dank für eure Hilfe.

Antwort 1 von Saarbauer

Hallo,

seh mal hier wegen der Ermittlung der Kalenderwoche nach

http://www.excelformeln.de/formeln.html?welcher=186

und die musst du in der Autoopenfunktion an Entsprechender Stelle unterbringen

Etwa so

Sub Workbook_Open()

Sheets(Kalenderwoche).Select

End Sub

Bei Kalenderwoche ist die Ermittlung unterzubringen

Gruß

Helmut

Antwort 2 von yps

hi,
den code in das Klassenmodul "DieseArbeitsmappe"
abspeichern und schliessen
beim erneuten öffnen wird dann das richtige Blatt ausgewählt

Private Sub Workbook_Open()
Dim DINKW As String
Dim tmp As Date
tmp = DateSerial(Year(Date + (8 - Weekday(Date)) Mod 7 - 3), 1, 1)
DINKW = ((Date - tmp - 3 + (Weekday(tmp) + 1) Mod 7)) \ 7 + 1
Sheets(DINKW).Activate
End Sub

cu Micha

Antwort 3 von yps

upps,
in den einstelligen Kalenderwochen funktioniert der Code nicht wenn diese tatsächlich 01- 09 heissen
also nimm diesen Code:

Private Sub Workbook_Open()
Dim DINKW As String
Dim tmp As Date
tmp = DateSerial(Year(Date + (8 - Weekday(Date)) Mod 7 - 3), 1, 1)
DINKW = Format(((Date - tmp - 3 + (Weekday(tmp) + 1) Mod 7)) \ 7 + 1, "00")
Sheets(DINKW).Activate
End Sub

cu Micha