Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Alle Werte eines Wochentages aus Monatsblättern addieren

Gruppe

DatumUndZeit

Problem

In einer Arbeitsmappe habe ich 12 Monatsblätter. In Spalte A ist das Datum eingetragen, in Spalte B der Wochentag und in Spalte C der zugehörige Wert. Wie kann ich mir in einem Analyseblatt die Werte aller Montage aus den Monatsblättern anzeigen lassen?

Lösung
Geben Sie die nachfolgende benutzerdefinierte Funktion in ein Standardmodul ein.

StandardModule: basMain

Function SumIf3D(intShStart As Integer, intShEnd As Integer, _
  varCriteria) As Double
  Dim intCounter As Integer
  Dim dblSum As Double
  For intCounter = intShStart To intShEnd
    With Worksheets(intCounter)
      dblSum = dblSum + WorksheetFunction.SumIf(.Columns(2), _
        varCriteria, .Columns(3))
    End With
  Next intCounter
  SumIf3D = dblSum
End Function

Sub JahrAnlegen()
  Dim i As Integer, y As Integer, intCounter As Integer
  For i = 2 To 13
    Worksheets.Add after:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = Format(DateSerial(1, i - 1, 1), "mmmm")
    Columns(1).NumberFormat = "dd.mm.yy"
    Columns(2).NumberFormat = "dddd"
    For y = 1 To Day(DateSerial(1999, i, 0))
      intCounter = intCounter + 1
      Cells(y, 1) = DateSerial(1999, i - 1, y)
      Cells(y, 2) = WeekDay(Cells(y, 1))
      Cells(y, 3) = intCounter
    Next y
  Next i
End Sub