12.06.2018, 09:05
Hallo Zusammen,
als Neuling in VBA stehe ich wieder vor einem Problem.
Ich habe eine Tabelle mit einer SUMMEWENN Formel.
Mit meinem Makro lege ich einen neuen Auftrag in einer neuen Zeile an.
Meine Tabelle sieht so aus.
| A | B | C | D | | H | I |
| 1 | Auftrag | Kunde | Wert | Status |
| 2 | Auftrag 1 | Kunde 1 | 1000 | LLI | | LLI | 21.000 |
| 3 | Auftrag 2 | Kunde 2 | 1000 | MFG | | MFG | 10.500 |
| 4 | Auftrag 3 | Kunde 1 | 1500 | DEL | | DEL | 35.000 |
| 5 |
| 6 | Summe Gesamt | SUMMEWENN |
Mein SummeWenn Formel sieht folgendermaßen aus:
=SUMME(SUMMEWENN($H$1:$H$3;D2;$I$2:$I$4);SUMMEWENN($H$1:$H$3;D3;$I$2:$I$4);SUMMEWENN$H$1:$H$3;D4;$I$2:$I$4))
Wenn ich jetzt über meinen CommandButton einen neuen Auftrag und eine neue Zeile hinzufüge, verschiebt sich die 6. Zeile zwar nach unten, aber ich weiß nicht wie ich die Formel automatisch aktualisieren kann bzw. wie muss der Code ausschauen, damit dies passiert.
Hier der Code für die neue Zeile:
Ich hoffe ich konnte mein Problem so erklären, dass man es versteht.
Danke & schöne Grüße.
als Neuling in VBA stehe ich wieder vor einem Problem.
Ich habe eine Tabelle mit einer SUMMEWENN Formel.
Mit meinem Makro lege ich einen neuen Auftrag in einer neuen Zeile an.
Meine Tabelle sieht so aus.
| A | B | C | D | | H | I |
| 1 | Auftrag | Kunde | Wert | Status |
| 2 | Auftrag 1 | Kunde 1 | 1000 | LLI | | LLI | 21.000 |
| 3 | Auftrag 2 | Kunde 2 | 1000 | MFG | | MFG | 10.500 |
| 4 | Auftrag 3 | Kunde 1 | 1500 | DEL | | DEL | 35.000 |
| 5 |
| 6 | Summe Gesamt | SUMMEWENN |
Mein SummeWenn Formel sieht folgendermaßen aus:
=SUMME(SUMMEWENN($H$1:$H$3;D2;$I$2:$I$4);SUMMEWENN($H$1:$H$3;D3;$I$2:$I$4);SUMMEWENN$H$1:$H$3;D4;$I$2:$I$4))
Wenn ich jetzt über meinen CommandButton einen neuen Auftrag und eine neue Zeile hinzufüge, verschiebt sich die 6. Zeile zwar nach unten, aber ich weiß nicht wie ich die Formel automatisch aktualisieren kann bzw. wie muss der Code ausschauen, damit dies passiert.
Hier der Code für die neue Zeile:
Code:
Private Sub CommandButton1_Click()
Dim rng As Range
Dim rng2 As Range
Dim lastrow As Long
lastrow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row + 1
ActiveSheet.Cells(lastrow, "A").EntireRow.Insert
ActiveSheet.Cells(lastrow, "A").Value = TextBox1
ActiveSheet.Cells(lastrow, "B").Value = TextBox2
ActiveSheet.Cells(lastrow, "C").Value = TextBox3
ActiveSheet.Cells(lastrow, "D").Value = TextBox4
End Sub
Ich hoffe ich konnte mein Problem so erklären, dass man es versteht.
Danke & schöne Grüße.