308 Aufrufe
Gefragt in Tabellenkalkulation von drmojo Einsteiger_in (96 Punkte)
Die Arbeitsmappe soll 52 Tabellenblätter mit den Namen 1 bis 52 enthalten (für jede Woche eines). Es soll jeweils der Name des Tabellenreiters automatisch mit einer besonderen Farbe kenntlich gemacht werden, der vom Namen her der aktuellen Kalenderwoche entspricht.

5 Antworten

+1 Punkt
Beantwortet von nighty Experte (6.6k Punkte)
Hallo

Die Syntax soll es wohl ab 2003 geben!

.Tab

Daher konnte ich es nicht Testen,habe noch Excel 2000

Einzufügen Alt+F11/Projectexplorer/DieseArbeitsmappe

Bei Beendigung der Arbeitsmappe wird der Reiter der KalenderWoche  Farbe=xlNone gesetzt

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Worksheets("" & DatePart("ww", Date, vbMonday, vbFirstFourDays)).Tab.ColorIndex = xlNone

End Sub

Bei Öffnung der Arbeitsmappe wird der Reiter der KalenderWoche  Farbe=3 gesetzt

Private Sub Workbook_Open()

Worksheets("" & DatePart("ww", Date, vbMonday, vbFirstFourDays)).Tab.ColorIndex = 3

End Sub

Gruß Nighty
0 Punkte
Beantwortet von drmojo Einsteiger_in (96 Punkte)
Vielen Dank für die wie immer perfekte und superschnelle Antwort
LG
drmojo
im früheren Leben mal "want2cu"
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
Hallo want2cu :-)

Schön von dir zu hören,einer der nettesten Excelmoderatoren der Vergangenheit!

Viel Glück und Gesundheit wünsch ich dir!

Gruß Nighty
0 Punkte
Beantwortet von drmojo Einsteiger_in (96 Punkte)
Vielen lieben Dank!
0 Punkte
Beantwortet von raisix Mitglied (287 Punkte)

Hallo,

super Lösung.

Ist es möglich, die Arbeitsblätter zu sperren und dabei die Auto-Gliederung zuzulassen?

Mein Code ist noch fehlerhaft:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("" & DatePart("ww", Date, vbMonday, vbFirstFourDays)).Tab.ColorIndex = xlNone
End Sub

____________________________________________________________________________

Sub Workbook_Open()
 MsgBox "MUSTERTEXT.", 0, "Hinweis"
 Dim i As Long
 For i = 1 To Worksheets.Count
 Sheets(i).Protect userinterfaceonly:=True, Password:="Passwort"
 Sheets(i).EnableOutlining = True 'für Gliederung
 Next i
  
  Worksheets("" & DatePart("ww", Date, vbMonday, vbFirstFourDays)).Tab.ColorIndex = 3
  
 End Sub

...