Blätter für Tage (Microsoft Excel)
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: