Clever-Excel-Forum

Normale Version: Automatisches Öffnen / Anzeige eines Tabelleblattes
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich habe eine Tabelle mit mehreren Tabellenblättern für jeden Tag des Monats, beispielsweise "15.10.2021" usw. Wie müsste folgender Code umgeschrieben werden, damit immer das Tabellenblatt mit dem aktuellen Datum "Heute()" in der Navigationsleiste unten ganz links angezeigt wird - also als erstes?

Code:
Public Sub Workbook_Open()
Application: Sheets("Tabelle1").Activate
End Sub

Tabelle1 soll das Tabellenblatt sein welches das aktuelle Datum hat.

Geht so etwas überhaupt?

Viele Grüße
Rudi
Hi Rudi,

teste mal:

Code:
Private Sub Workbook_Open()
Dim wS As Worksheet
On Error GoTo ERR_Handler
For Each wS In ThisWorkbook.Worksheets
    If CDate(wS.Name) = Date Then
        wS.Move before:=Worksheets(1)
        Exit Sub
    End If
Next wS
Exit Sub
ERR_Handler:
MsgBox "Das ist was schief gelaufen"
End Sub
Guten Morgen Boris,

perfekt...mehr gibt es dazu nicht zu sagen. Vielen Dank für die schnelle Hilfe.

VG und ein schönes WE
Rudi
Hallo zusammen,

leider muss ich doch noch einmal nachfragen. Ich habe den Code, der perfekt funktioniert hat, in eine andere Tabelle kopiert. Hier kommt auf einmal die im Code angezeigte Meldung das da etwas schiefgelaufen ist.

Die Tabellen sind gleich aufgebaut und die Tabellenblätter haben die gleiche Bezeichnung (Datum)

Danke im Voraus für die Hilfe.

VG Rudi
Hi Rudi,

dann gibt es in dieser Mappe mindestens irgendein Blatt, was kein Datum als Blattname hat - damit läuft CDate in den Fehler.

Teste mal:

Code:
Private Sub Workbook_Open()
Dim wS As Worksheet
On Error GoTo ERR_Handler
For Each wS In ThisWorkbook.Worksheets
    If IsDate(wS.Name) Then
        If CDate(wS.Name) = Date Then
            wS.Move before:=Worksheets(1)
            Exit Sub
        End If
    End If
Next wS
Exit Sub
ERR_Handler:
MsgBox "Das ist was schief gelaufen"
End Sub
Hallo Boris,

das stimmt. Da habe ich gar nicht drauf geachtet. Blush

Wie könnte der Code angepasst werden damit der Fehler nicht mehr auftritt?

VG
Rudi
Hi Rudi,

ich versteh Deine Frage nicht - ich habe Dir doch bereits einen angepassten Code geschickt...?
Hallo Boris,

danke erstmal, dass Du Dir die Zeit nimmst.

Ich habe einmal einen Screenshot beigefügt auf dem die Tabellenblätter zu erkennen sind und die Fehlermeldung.

[attachment=40801]

Es liegt bestimmt an meiner fehlenden VBA Erfahrung.

VG
Rudi
Hi Rudi,

der Screenshot nützt nix ohne Deine Datei und den darin verwendeten Code.
Ich hatte Dir aber mit der Antwort um 12:54h einen angepassten Code gepostet - hast Du den eingebaut?
Hallo Boris,
 
ist mir das peinlich. Wer lesen kann ist klar im Vorteil. Blush Blush Blush

Habe Deine geänderten Code eingefügt und es funktioniert perfekt.

Danke für Deine Mühe und vor allem für Dein Verständnis.

VG
Rudi
Seiten: 1 2