VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Tabellen für die Werktage eines Monats erstellen

Gruppe

Ereignis

Bereich

Change

Thema

Tabellen für die Werktage eines Monats erstellen

Problem

Wie kann ich durch die Eintragung einer Jahres- bzw. Monatszahl für jeden Tag des jeweiligen Monats ein Arbeitsblatt generieren lassen? Die Arbeitsblätter sollen als Name den Tag und den Wochen tag tragen.

Lösung

Geben Sie den Ereigniscode in das Klassenmodul des Arbeitsblattes ein.




ClassModule: Tabelle1

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  Dim iYear As Integer, iMonth As Integer, iDay As Integer
  Application.ScreenUpdating = False
  If Intersect(Target, Range("B1:B2")) Is Nothing Then Exit Sub
  If IsEmpty(Range("B1")) Or IsEmpty(Range("B2")) Then Exit Sub
  iYear = Range("B1")
  iMonth = Range("B2")
  For iDay = 1 To Day(DateSerial _
    (iYear, iMonth + 1, 0))
    If WeekDay(DateSerial(iYear, _
      iMonth, iDay), 2) < 6 Then
      Worksheets("Tag").Copy after:=Worksheets _
        (Worksheets.Count)
      ActiveSheet.Name = iDay & " " & Format( _
        DateSerial(iYear, iMonth, iDay), "dddd")
    End If
  Next iDay
  Worksheets(1).Select
  Application.ScreenUpdating = True
End Sub

    


Beiträge aus dem Excel-Forum zu den Themen Ereignis und Change