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 - Neue Zeile an SUMMEWENN anhängen
#1
Hallo Zusammen,
ich bin noch ziemlich neu mit dem Programmieren von Makros und stehe vor einem sehr ärgerlichem Problem.

In meiner Excel Datei füge ich durch einen CommandButton in meiner Tabelle eine neue Zeile hinzu. In der letzten Zeile der Tabelle befindet sich eine =SUMME(SUMMEWENN(...)) Formel. Diese Formel springt eine Zeile nach unten wenn ich einen neuen Auftrag anlege, jedoch wird die neue Zeile nicht in die Formel aufgenommen bzw. an das Ende angehängt.

Ich habe es mit folgendem Code probiert:
Code:
Private Sub CommandButton1_Click()
   Dim lastrow As Long
   Dim i As Integer

   lastrow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row + 1

   i = 4
   Do Until i = lastrow
       calc = "SUMIF($K$3:$K$19,N" & i & ",$L$3:$L$19))"
       ActiveSheet.Range("N" & lastrow + 1 & ":BI" & lastrow + 1).Value = "=SUM(SUMIF($K$3:$K$19,N3,$L$3:$L$19)," & calc
       i = i + 1
   Loop
End Sub

Leider funktioniert das nicht so ganz wie ich es will. Die Formel sieht danach so aus:
=SUMME(SUMMEWENN($K$3:$K$19,N3,$L$3:$L$19),SUMMEWENN($K$3:$K$19,N21,$L$3:$L$19))

Ich hoffe jemand kann mir helfen meinen Code so zu bearbeiten, dass am Ende alle Zeilen aus der Tabelle in die Formel eingefügt werden. 

Schöne Grüße
Antworten Top
#2
Konnte in einem anderem Forum eine Lösung finden. Poste den richtigen Weg hier, falls irgendwann mal jemand vor dem gleichen Problem steht.

Code muss so aussehen:
Code:
i = 4
calc = "=SUM(SUMIF($K$3:$K$19,N3,$L$3:$L$19),"
Do Until i = lastrow
   calc = calc & "SUMIF($K$3:$K$19,N" & i & ",$L$3:$L$19),"
   i = i + 1
Loop

ActiveSheet.Range("N" & lastrow + 1 & ":BI" & lastrow + 1).Value = calc & ")"
Antworten Top


Gehe zu:


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