Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sheets nach aktuellem Datum aktivieren

Sheets nach aktuellem Datum aktivieren
16.06.2005 13:45:11
Marco
Hi freaks,
ich habe eine Art Kalender erstellt. Dieser besteht aus 12 Sheets für die jeweiligen Monate. In der Zeile 1 sind jeweils (im benutzerdefninierten Zahlenformat "T") die aktuellen Tage hinterlegt.
Ich habe anschließend an einem Makro gebastelt, welches den jeweiligen Monatssheet aktivieren sollte um im Anschluss auf den aktuellen Tag zu scrollen.
Dies war mein erster Enwurf:
'(Arbeitsmappe)

Private Sub Workbook_Open()
Datumssprung
End Sub

'(Module)

Sub Datumssprung()
Dim bDate As Byte
ActiveSheet.Unprotect
bDate = Format(Date, "mm")
Sheets(bDate).Select
ActiveSheet.Range("A2").Select
Set gZelle = Rows(1).Find(DateValue(Date), _
LookIn:=xlFormulas)
ActiveWindow.ScrollColumn = gZelle.Column
ActiveSheet.Protect
End Sub

Leider funktionierte das Makro nur, wenn vorher schon das Tabellenblatt mit dem richtigen Monat aktiviert war.
Andernfalls blieb die Variable gZelle leer und ich bekam in der Folgezeile eine Fehlermeldung.
Mit folgenden Änderunge funktionierte mein Makro endlich:

Private Sub Workbook_Open()
Dim bDate As Byte
bDate = Format(Date, "mm")
Sheets(bDate).Select
Range("A2").Select
Datumssprung
End Sub


Sub Datumssprung()
ActiveSheet.Unprotect
Set gZelle = Rows(1).Find(DateValue(Date), _
LookIn:=xlFormulas)
ActiveWindow.ScrollColumn = gZelle.Column
ActiveSheet.Protect
End Sub

Nur von der Logik habe ich nicht verstanden, warum die Zeile mit "set gZelle" bei meinem ersten Makro nicht funktioniert hat. Es sollte doch eigentlich auf dem aktuellen Tabellenblatt das Datum suchen.
Kann mir jemand erklären, warum dem nicht so war?
cu
Marco

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheets nach aktuellem Datum aktivieren
17.06.2005 06:28:40
Stefan
Hallo Marco,
Ich kann Dein Problem nicht nachvollziehen, bei mir funktioniert auch der erste Code. Es gibt allerdings eine Sache die in der ersten Version nicht funkioniert, wenngleich es bei mir keinen Fehler gab (aber vielleicht hast Du andere Einstellungen...):
Der Befehl "ActiveSheet.unprotect" ist in Deiner ersten Version wirkungslos, da Du ihn zu frueh setzt. Du hast dort noch nicht das richtige Sheet ausgewaehlt, also kann auch dort der Blattschutz nicht aufgehoben werden. Vielleicht funktioniert Dein Code wenn Du die Zeile nach "Sheets(bDate).Select" setzt.
Schoene Gruesse
Stefan B.
Anzeige
AW: Sheets nach aktuellem Datum aktivieren
17.06.2005 08:00:16
Marco
Hallo Stefan,
es lag tatsächlich an den Befehl "ActiveSheet.unprotect".
Im Eifer des Gefechts habe ich glatt übersehen, den in die richtige Zeile zu verschieben.
So klappt es jetzt auch mit der ersten Version:

Sub Datumssprung()
Dim bDate As Byte
bDate = Format(Date, "mm")
Sheets(bDate).Select
ActiveSheet.Unprotect
ActiveSheet.Range("A2").Select
Set gZelle = Rows(1).Find(DateValue(Date), _
LookIn:=xlFormulas)
ActiveWindow.ScrollColumn = gZelle.Column
ActiveSheet.Protect
End Sub

Vielen Dank für die schnelle Antwort.
Manchmal sieht man vor lauter Wald die Bäume nicht ;-)
Herzliche Grüße
Marco
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige