726 Aufrufe
in Tabellenkalkulation von
Hallo,

ich habe eine Tabelle erstellt in der verschiedene Personen unabhängig voneinander Eintragungen vornehmen müssen. in der Tabelle sind mehrere Arbeitsblätter vorhanden wobei jedes Arbeitsblatt ein anderer Tag ist. (der Name ist also ein Datum).
Ist es per VBA möglich das Excel beim Öffen der Tabelle automatisch das Arbeitsblatt mit dem heutigen (also aktuellen) Datum öffnet?

6 Antworten

0 Punkte
von m-o Profi (22.9k Punkte)
Hallo,

ja das ist möglich. Ich gehe davon aus, dass die Arbeitsblätter "07.08.2017" etc. heißen.

Kopiere das folgende Makro in das VBA-Projekt der betreffenden Arbeitsmappe:
Private Sub Workbook_Open()
Dim strName As String

strName = Date

Worksheets(strName).Activate

End Sub


Gruß

M.O.
0 Punkte
von m-o Profi (22.9k Punkte)
Hallo,

noch mal ich ;-). Hier das erweiterte Makro mit Prüfung, ob ein entsprechendes Tabellenblatt überhaupt existiert:

Private Sub Workbook_Open()
Dim strName As String
Dim ws As Worksheet
Dim bExists As Boolean

'aktuelles Datum = Name des Arbeitsblatts
strName = Date
' Alle vorhandenen Arbeitsblätter durchlaufen
For Each ws In Worksheets
If ws.Name = strName Then
bExists = True
Exit For
End If
Next

If bExist = True Then
'Arbeitsblatt aktivieren
Worksheets(strName).Activate
Else
'fehlermeldung
MsgBox "Das Arbeitsblatt mit dem Name " & strName & " existiert nicht!", 16, "Fehler"
End If

End Sub


Gruß

M.O.
0 Punkte
von
Danke M.O. für die schnelle Antwort,

ja, die einzelnen Arbeitsblätter sind dd.mm.jjjj bezeichnet, habe den Code (mit Prüfung)verwendet aber Excel meckert das ein Arbeitsblatt mit dem Namen 07.08.2017 nicht existiert, es ist aber definitiv da

woran könnte das liegen?
0 Punkte
von
Nachtrag: mit dem Code ohne Prüfung funktioniert es
0 Punkte
von m-o Profi (22.9k Punkte)
Hallo,

ja da ist ein kleiner Fehler drin :-(. Bei der Anweisung
If bExist = True Then

fehlt ein s. Ersetze die Zeile durch
If bExists = True Then

dann sollte es klappen.

Gruß

M.O.
0 Punkte
von
super, jetzt klappt es

Vielen Dank für deine Hilfe

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...