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.

Worksheet Function Sum Product
#1
Hallo Zusammen!
Ich versuche mich grade an einem Summenprodukt VBA Code.

Der Code Funktioniert auch soweit, allerdings wollte ich fragen wie ich folgenden Teil des Codes anpassen muss, damit ich beim Ausführen immer das Kriterium der aktuellen Zeile beachte? 

Im Beispiel Code ist das E35:
Code:
Private Sub CommandButton8_Click()
ActiveCell = Evaluate("SUMPRODUCT((B28:B3500=""Stunden"")*(E28:E3500=E35)*(AM28:AM3500)*(K28:K3500))") * ((1 + Range("H13")) ^ Range("AN20"))
End Sub


Wie müsste ich den Code nun anpassen, dass ich das ganze immer bezogen auf die aktuelle Zeile raus bekomme?

Zum Beispiel: ich habe Zeile 123 aktiviert, dann sollte der Code wie folgt aussehen:

Code:
Private Sub CommandButton8_Click()

ActiveCell = Evaluate("SUMPRODUCT((B28:B3500=""Stunden"")*(E28:E3500=E123)*(AM28:AM3500)*(K28:K3500))") * ((1 + Range("H13")) ^ Range("AN20"))
End Sub


Vielen Dank & Gruß!

Hab an sowas in die Richtung gedacht, leider funktioniert das nicht:

Code:
ActiveCell = Evaluate("SUMPRODUCT((B28:B3500=""Stunden"")*(E28:E3500=Cells(ActiveCell.row,5))*(AM28:AM3500)*(K28:K3500))") * ((1 + Range("H13")) ^ Range("AN20"))
Antwortento top
#2
Hallo diving_excel,

probier doch mal
Code:
ActiveCell = Evaluate("SUMPRODUCT((B28:B3500=""Stunden"")*(E28:E3500=" & Cells(ActiveCell.row,5)) & "*(AM28:AM3500)*(K28:K3500))") * ((1 + Range("H13")) ^ Range("AN20"))

Du willst ja nicht den Text "Cells...." in der Formel stehen haben sondern den entsprechenden Wert.

Gruß,
Lutz
[-] Folgende(r) 1 Benutzer sagt Danke an Lutz Fricke für diesen Beitrag:
  • diving_excel
Antwortento top
#3
Hallo,

PHP-Code:
ActiveCell Evaluate("SUMPRODUCT((B28:B3500=""Stunden"")*(E28:E3500=" Cells(ActiveCell.Row5) & ")*(AM28:AM3500)*(K28:K3500))") * ((Range("H13")) ^ Range("AN20")) 

Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
  • diving_excel
Antwortento top
#4
Vielen Dank!
Antwortento top


Gehe zu:


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