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
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
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
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

