Wenn Sie eine neue Arbeitsmappe starten, wird jedes Arbeitsblatt häufig nach einem anderen Tag im Monat benannt. Wenn Sie dies ziemlich oft tun, wissen Sie, dass es mühsam sein kann, jedes Arbeitsblatt nacheinander in genau das umzubenennen, was Sie benötigen.

Das folgende Makro wurde entwickelt, um in diesen Situationen zu helfen. Es überprüft die Namen der Arbeitsblätter in Ihrer Arbeitsmappe und benennt sie in die Tage des Monats um, wenn sie mit den Buchstaben „Blatt“ beginnen. Wenn die Arbeitsmappe nicht genügend Blätter enthält, werden bei Bedarf für jeden Tag des Monats Blätter hinzugefügt.

Sub DoDays()

Dim J As Integer     Dim K As Integer     Dim sDay As String     Dim sTemp As String     Dim iTarget As Integer     Dim dBasis As Date

iTarget = 13     While (iTarget < 1) Or (iTarget > 12)

iTarget = Val(InputBox("Numeric month?"))

If iTarget = 0 Then Exit Sub     Wend

Application.ScreenUpdating = False     sTemp = Str(iTarget) & "/1/" & Year(Now())

dBasis = CDate(sTemp)

For J = 1 To 31         sDay = Format((dBasis + J - 1), "dddd mm-dd-yyyy")

If Month(dBasis + J - 1) = iTarget Then

If J <= Sheets.Count Then                 If Left(Sheets(J).Name, 5) = "Sheet" Then                     Sheets(J).Name = sDay                 Else                     Sheets.Add.Move after:=Sheets(Sheets.Count)

ActiveSheet.Name = sDay                 End If             Else                 Sheets.Add.Move after:=Sheets(Sheets.Count)

ActiveSheet.Name = sDay             End If         End If     Next J

For J = 1 To (Sheets.Count - 1)

For K = J + 1 To Sheets.Count             If Right(Sheets(J).Name, 10) > _               Right(Sheets(K).Name, 10) Then                 Sheets(K).Move Before:=Sheets(J)

End If         Next K     Next J

Sheets(1).Activate     Application.ScreenUpdating = True End Sub

Das Makro setzt jeden Registerkartennamen gleich dem Wochentag, gefolgt vom tatsächlichen Datum, wie in „Mittwoch, 28.03.2012“. Wenn Sie die Art und Weise ändern möchten, in der die Registerkarten für jeden Tag benannt werden, ändern Sie einfach die Art und Weise, wie die Variable sDay im Makro erstellt wird.

Der letzte Schritt im Makro besteht darin, die Arbeitsblätter basierend auf den Tagen des Monats in der richtigen Reihenfolge zu platzieren. Das Ergebnis ist, dass, wenn Sie noch andere Arbeitsblätter in der Arbeitsmappe haben (mit anderen Worten, Sie hatten einige, die nicht mit den Buchstaben „Blatt“ begannen), diese Arbeitsblätter am Ende der Arbeitsmappe nach den Blättern für jedes Arbeitsblatt landen Tag.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich hat eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips is your Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (2836) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und später) hier: