VBA - Summe berechnen?
Hallo zusammen,
Ich komme wieder mit einem VBA Code an meine Grenzen, vielleicht kann mir ja hier jemand helfen.
Und zwar habe ich ein Dokument in welchem via Button Zeilen und Spalten eingefügt werden können.
Die Grünen Kästchen bilden jeweils die Summen der Werte darüber (außer bei Zielwert&Istwert, da werden die Summen der Werte von links gebildet)
Dadurch das die Datei so dynamisch ist (da man Spalten & Zeilen einfügen und löschen kann) habe ich Probleme die Summenformel so dynamisch zu gestalten das immer die richtige Summe berechnet wird.
Mein Ansatz bisher ist wie folgt:
Dim n
Dim Summe
For n = 5 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(n, 1).Value = "Test1" Then
Summe = Summe + Cells(n, 4).Value
End If
Next
Cells(n - 10, 4).Value = Summe
For n = 5 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(n, 1).Value = "Test 2" Then
Summe = Summe + Cells(n, 4).Value
End If
Next
Cells(n - 4, 4).Value = Summe
End Sub
Problem ist das ich mit dieser Methode für jede Summe diesen Code schreiben muss, und wenn ich weiter in die Spalten nach rechts gehe zählt der Code alle Werte anstelle nur der Werte der jeweiligen Spalte.
Hat hier jemand eine Alternative Lösung für das Problem?
Vielen Dank im Voraus!
1 Antwort
Was du dir auf jeden Fall sparen kannst ist die Schleifen x mal durchzulaufen.
Es reicht, wenn die Schleife einmal läuft und in dem Rumpf sämtliche If-Abfragen verarbeitet werden.
Die If-Bedingungen könntest du ODER-Verknüpfen, da der If-Rumpf jeweils identisch ist.
Nee, zum Programmieren bin ich zu faul.
Mir ist aber noch etwas aufgefallen. Du schreibst in der If-Bedingung
If Cells(n, 1).Value = "Test1"
In deinem Screenshot steht Test1 in Spalte B (Spalte 2).
Übst du dich einfach nur in VBA? Weil die Summen könntest du auch über ganz gewöhnliche Excel-Funktionen berechnen.
Du hast recht. Der Screenshot ist nur eine Nachbildung der eigentlichen Datei um es etwas zu vereinfachen. Das passt eigentlich.
Ich würde es tatsächlich liebend gerne mit Formeln machen, aber das Problem ist eben das, sobald ich neue Spalten/ Zeilen einfüge die Formeln wieder weg sind oder die Daten in den neu eingefügte Spalten/ Zeilen nicht übernommen werden..
Danke für die schnelle Antwort!
Kannst du mir etwas auf die Sprünge helfen mit der groben Formulierung des Codes? Ich habe für mich schon viele Variationen (auch mit If) ausprobiert, allerdings waren für sich gut aber eine ganzheitliche Lösung habe ich leider nicht hinbekommen.
Müsste dann ja irgendwie so gehen
If Spalte 1 = "Test 1" , dann Summe für jede Spalte mit Test 1 berechnen
Ergebnis in Celle x/y anzeigen.
Und das ganze noch in Variablen.
Wieder danke im Voraus!