Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

SUMMEWENN-Funktion über mehrere Tabellenblätter

Gruppe

Summewenn

Problem

Die Funktion SUMMEWENN kann nicht in 3D-Bereichen angewandt werden. Wie kann ich dieses Problem beseitigen.

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

StandardModule: basMain

Function SuperSumIf(var As Variant, _
   sFirst As String, sLast As String, _
   colSearch As Integer, colValues As Integer)
   Dim wks As Worksheet
   Dim dValue As Double
   Dim intSheet As Integer
   For intSheet = Worksheets(sFirst).Index To _
      Worksheets(sLast).Index
      Set wks = Worksheets(intSheet)
      dValue = dValue + _
         WorksheetFunction.SumIf(wks.Columns(colSearch), _
         var, wks.Columns(colValues))
   Next intSheet
   SuperSumIf = dValue
End Function