Öffnen Zelle neben dem aktuellen Datum selektieren
Hallo zusammen.
Ich habe derzeit ein Problem in einem Excel Projekt mit VBA. Ich bin noch Einsteiger im Thema VBA und komme leider nicht weiter und erhoffe hier Hilfe.
Zum Problem. Beim öffnen der Arbeitsmappe soll das Tabellenblatt mit dem aktuellen Monat geöffnet werden, was so auch funktioniert. Des weiteren möchte ich, um es dem Benutzer zu erleichtern, das das aktuelle Datum ausgewählt wird und die Zelle daneben für eine Eingabe selektiert wird. Dies funktioniert leider nicht.
Die Aufbau des Tabellenblattes.
Das Datum des jeweiligen Monats wird als Formel erstellt. Es soll dynamisch erstellt werden je nach Auswahl vom Jahr und Monat. Die Datumsliste befindet sich in den Zellen von B12 bis B42
Für den ersten Tag. In Zelle C5 steht das Jahr (Format Standard) und in Zelle C6 steht der Monat (Format "MMMM").
Das nächste Datum wird dann so erzeugt.
Das Datum ist so als "TTT TT.MM.JJJJ" formatiert.
Das folgen Script habe ich im Internet gefunden und versucht an meine Bedürfnisse anzupassen. Leider nicht erfolgreich.
Ich habe es im VBA Editor unter "Diese Arbeitsmappe" eingefügt.
Die Zelle neben dem Datum findet er zwar aber es wird immer der 01.02.2023 als Datum gewählt.
Ich verwende Microsoft Excel 2016. Ich hoffe ich habe alle wichtigen Informationen gegeben.
Es wäre toll wenn mir jemand bei meinem Problem weiterhelfen könnte. Ich sage schon mal herzlichen Dank im voraus.
Lg.
Ich habe derzeit ein Problem in einem Excel Projekt mit VBA. Ich bin noch Einsteiger im Thema VBA und komme leider nicht weiter und erhoffe hier Hilfe.
Zum Problem. Beim öffnen der Arbeitsmappe soll das Tabellenblatt mit dem aktuellen Monat geöffnet werden, was so auch funktioniert. Des weiteren möchte ich, um es dem Benutzer zu erleichtern, das das aktuelle Datum ausgewählt wird und die Zelle daneben für eine Eingabe selektiert wird. Dies funktioniert leider nicht.
Die Aufbau des Tabellenblattes.
Das Datum des jeweiligen Monats wird als Formel erstellt. Es soll dynamisch erstellt werden je nach Auswahl vom Jahr und Monat. Die Datumsliste befindet sich in den Zellen von B12 bis B42
Für den ersten Tag. In Zelle C5 steht das Jahr (Format Standard) und in Zelle C6 steht der Monat (Format "MMMM").
=WENNFEHLER(DATWERT(VERKETTEN(1;C6;C5));"")
=WENNFEHLER(B12+1;"")
Das folgen Script habe ich im Internet gefunden und versucht an meine Bedürfnisse anzupassen. Leider nicht erfolgreich.
Ich habe es im VBA Editor unter "Diese Arbeitsmappe" eingefügt.
Private Sub Workbook_Open()
Dim dat As String
dat = Mid(Date, 4, 2)
Select Case dat
Case "01"
Sheets("Januar").Select
Case "02"
Sheets("Februar").Select
Case "03"
Sheets("März").Select
Case "04"
Sheets("April").Select
Case "05"
Sheets("Mai").Select
Case "06"
Sheets("Juni").Select
Case "07"
Sheets("Juli").Select
Case "08"
Sheets("August").Select
Case "09"
Sheets("September").Select
Case "10"
Sheets("Oktober").Select
Case "11"
Sheets("November").Select
Case "12"
Sheets("Dezember").Select
Case Else
MsgBox "Es konnte kein gültiger Monat ermittelt werden!"
End Select
'Columns("B:B").Select
Range("B12:B42").Select
Selection.Find(What:=Date, After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
ActiveCell.Offset(0, 1).Select
ActiveWindow.Zoom = 100
ActiveWindow.ScrollRow = ActiveWindow.ActiveCell.Row
ActiveWindow.SmallScroll Down:=-3
End Sub
Die Zelle neben dem Datum findet er zwar aber es wird immer der 01.02.2023 als Datum gewählt.
Ich verwende Microsoft Excel 2016. Ich hoffe ich habe alle wichtigen Informationen gegeben.
Es wäre toll wenn mir jemand bei meinem Problem weiterhelfen könnte. Ich sage schon mal herzlichen Dank im voraus.
Lg.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6111111018
Url: https://administrator.de/contentid/6111111018
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
4 Kommentare
Neuester Kommentar
Select Case dat
Case "01"
Sheets("Januar").Select
Case "02"
Sheets("Februar").Select
Case "03"
Sheets("März").Select
Wieso umständlich wenn es auch einfach geht .Case "01"
Sheets("Januar").Select
Case "02"
Sheets("Februar").Select
Case "03"
Sheets("März").Select
Private Sub Workbook_Open()
With Sheets(Format(Date, "mmmm"))
.Activate
With .Range("B11").Offset(Day(Date), 1)
.Show
.Select
End With
End With
End Sub
Excel VBA Referenz
X> Zitat von @Fritzchen:
Das hier
Hm, habe versucht es nachzuvollziehen. Also verstehe ich das jetzt richtig, er findet anhand des Datums in der gesamten Arbeitsmappe und öffnet dann auch automatisch das richtige Arbeitsblatt?
Das hier
Format(Date, "mmmm")
generiert das aktuelle Datum als ausgeschriebenen Monatsnamen und das wird dann das als Parameter an die Sheets Auflistung übergeben, mit .Activate wird dann dieses Sheet aktiviert und danach noch je nach Tag des Monats der Offset zur Zelle B11 dieses Sheets angegeben, Beim ersten des Monats also Zelle B11 +1 = B12. Der zweite Parameter der Offset-Funktion gibt dann den horizontalen Versatz zur Spalte B an, welcher 1 ist weil du ja die Zelle daneben auswählen willst.