Guten Tag
Ich habe folgende Array-Formel:
{=SUM(IF(YEAR(Transfer!$C$2:$C$5)=YEAR(A4);IF(MONTH(Transfer!$C$2:$C$5)=MONTH(A4);Transfer!$E$2:$E$5;0);0))}
Diese summiert sämtliche Beträge, welche dem Jahr und Monat entsprechen. Soweit sogut. Nun möchte ich dies in einem Makro verwenden. Beim Aufzeichnen wird folgender Code erstellt:
Selection.FormulaArray = _
"=SUM(IF(YEAR(Transfer!R2C3:R5C3)=YEAR(RC[-1]),IF(MONTH(Transfer!R2C3:R5C3)=MONTH(RC[-1]),Transfer!R2C5:R5C5,0),0))"
Der Bereich C2:C5 (und auch E2:E5 entsprechend) kann jedoch varieren – deshalb ermittle ich die letzte Zeile (LastRow) auf dem Blatt “Transfer“ und setze diese als Variable “LastRowTransfer”.
Wie kann ich nun diesen Bereich mit in obige Formel einbauen? Beispielsweise “...Range(“C2:C“ & LastRowTransfer)“ wie ansonsten üblich funktioniert nicht. Ist der Bereich zuerst als Variable zu definieren?
Desweiteren sind die Bezüge “R2C3:R5C3“ für mich ungünstig, da ich die obige Matrixformel in mehreren Zellen verwenden werde und dies in einen For-Loop einbaue. Mit der richtigen Adresse in der Formel sollte dies aber kein Problem darstellen.
Vielen Dank im Voraus für die Unterstützung!
Beste Grüsse
Darksidy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP