Clever-Excel-Forum

Normale Version: VBA Formel einfügen mit Zeile aus Variable
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich habe schon einige Kombinationen ausprobiert. Aber ich bekomme es nicht hin, dass ich in die folgende Formel die Variable "Zeilen" als Begrenzung des Bereichs einfüge um die Berechnungszeit zu begrenzen.

Sub test()
Dim Zeilen As Long
    Zeilen = WorksheetFunction.CountA(Range("H:H")) + 2
    Range("C4").Select
    ActiveCell.FormulaLocal = "=Wenn(Summenprodukt(($G$4:$G$16302=$G4)*($AC$4:$AC$16302=$AC4)*($K$4:$K$16302))       =0;0;Wenn(A4&D4&E4&G4=A3&D3&E3&G3;0;1))" 
    Range("C4").Select
    Selection.AutoFill Destination:=Range("C4:C" & Zeilen)
End Sub

Ich möchte hier statt der ($G$4:$G$16302) und in den anderen Summenprodukt Bereichen (G$4:$G$& Zeilen) schreiben.
Ist die möglich?

Die Variable Formel sieht so aus falls es bei dieser auch ginge.

 ActiveCell.FormulaR1C1 = _

        "=+IF(SUMPRODUCT((R4C7:R16302C7=RC7)*(R4C29:R16302C29=RC29)*(R4C11:R16302C11))=0,0,IF(RC[-2]&RC[1]&RC[2]&RC[4]=R[-1]C[-2]&R[-1]C[1]&R[-1]C[2]&R[-1]C[4],0,1))"

Vielen Dank

Mirko
Hallo Mirko,

so:
Code:
Sub test()
Dim Zeilen As Long

Zeilen = WorksheetFunction.CountA(Range("H:H")) + 2
Range("C4:C" & Zeilen).FormulaLocal = _
"=WENN(SUMMENPRODUKT(($G$4:$G$" & Zeilen & "=$G4)*($AC$4:$AC$" & Zeilen & "=$AC4)" _
& "*($K$4:$K$" & Zeilen & "))=0;0;WENN(A4&D4&E4&G4=A3&D3&E3&G3;0;1))"
End Sub



Gruß Werner
Hallo Werner,

vielen Dank, funktioniert super.
Da war ich fast in der Nähe der Lösung aber auch nur fast;)

Das bring noch mal eine ordentliche Beschleunigung.

Gruß

Mirko