Matrixformel und Autofill per VBA
07.08.2018 09:49:08
Uwe
meine Herausforderung ist es in der Tabelle1 (Zelle G23) folgende Matrixformel mittels VBA einzutragen:
.Cells(23, 8).FormulaArray = IF(A23="","",SUM(IF((Tabelle3!$A$1:$A$10000=Tabelle1!A23)*(Tabelle3!$K$1:$K$10000=Tabelle1!$G$22),1)))
Dies funktioniert auch soweit.
Mein Thema ist nun, das sich nach schreiben dieser Formel in die Zelle die geschweiften Klammern (Matrixformel STRG-SHIFT_ENTER) nicht per VBA aktivieren lassen.
Zudem soll diese Formel via Autofill-Methode ab G23 bis zur letzten gefüllten Zeile mit dem jeweiligen Zeilenbezug ('A23, A24,...) einkopieren.
Habe mit R1C1, Evaluate usw. herumprobiert und bekomme es einfach nicht hin.
Wäre Euch sehr dankbar für einen Tip.
Folgend mein Skript (Modul):
Public Sub Summary_Total_Formula()
'Formeln im Angebot runterkopieren
Dim lngLetzte As Long 'letzte Zeile
With ThisWorkbook.Sheets("Tabelle1")
.Cells(23, 7).FormulaArray = "=IF(RC[-6]="""","""",SUM(IF((Tabelle3!R1C1:R10000C1=Tabelle1!RC[- _
_
6])*(Tabelle3!R1C11:R10000C11=Tabelle1!R22C7),1)))" 'LDM
End With
With ActiveSheet 'Dev 1 Formel runterkopieren
'letzte Zeile auffinden:
lngLetzte = .UsedRange.Rows.Count + .UsedRange.Row - 1
'Formel aus G23 runterkopieren:
.Range(.Cells(23, 7), Cells(lngLetzte, 7)).Formula = .Cells(23, 7).Formula
End With
End Sub