VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Tagesblätter eines Monats ohne Wochenenden und Feiertage anlegen

Gruppe

DatumZeit

Bereich

Kalender

Thema

Tagesblätter eines Monats ohne Wochenenden und Feiertage anlegen

Problem

Wie kann ich in der aktuellen Arbeitsmappe für jeden Tag des Monats ein Arbeitsblatt anlegen, wobei Wochenenden und Feiertage ausgespart bleiben sollen? Die Tagesblättter sind nach Datum zu benennen.

Lösung

Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.




StandardModule: basMain

Sub MonatAnlegen()
   Dim wks As Worksheet
   Dim datDay As Date
   Dim var As Variant
   Dim lDay As Long
   Dim iYear As Integer, iMonth As Integer
   Application.ScreenUpdating = False
   Set wks = ActiveSheet
   iYear = Year(Range("A1").Value)
   iMonth = Month(Range("A1").Value)
   For lDay = DateSerial(iYear, iMonth, 1) To _
      DateSerial(iYear, iMonth + 1, 0)
      var = Application.Match( _
         lDay, Worksheets("Feiertage").Columns(1), 0)
      If IsError(var) And WorksheetFunction.WeekDay(lDay) < 6 Then
         Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
         ActiveSheet.Name = Format(lDay, "dd.mm.yy")
      End If
   Next lDay
   wks.Select
   Application.ScreenUpdating = True
End Sub

    


Beiträge aus dem Excel-Forum zu den Themen DatumZeit und Kalender