Boris hat mir kürzlich mit folgender Formel weitergeholfen:
=SUMMENPRODUKT(TEILERGEBNIS(3;INDIREKT("g"&ZEILE($14:$60)))*(G$14:G$60="u"))
Es ist für mich notwendig, den gesamten Ausdruck in VBA zu programmieren. Ich stelle mir eine Funktion Urlaub (z.b. urlaub(g14:g40))vor, der ich ein Range-Objekt übergebe. Soweit bin ich im Moment:
Function urlaub(r As Range)
urlaub = Application.WorksheetFunction.SumProduct(Subtotal(3, INDIRECT("I" & r.Row) * r = "x"))
end Function
Leider gibt es keine VBA-Ensprechung für Indirekt(Verweis;A1). Obwohl der Makrorecorder Indirekt in INDIRECT übersetzt, funtioniert es nicht, weil es eben vermutlich keine VBA-Entsprechung für Indirekt gibt.
Kann mir jemand helfen?
Grüße,
Max