Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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
Antworten 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
Antworten Top


Gehe zu:


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