Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

VBA Formel einfügen mit Zeile aus Variable
#1
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
Top
#2
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
[-] Folgende(r) 1 Nutzer sagt Danke an Werner.M für diesen Beitrag:
  • MM8
Top
#3
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
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste