11.10.2021, 17:50
(Dieser Beitrag wurde zuletzt bearbeitet: 11.10.2021, 17:57 von WillWissen.
Bearbeitungsgrund: Unnötige Leerzeilen entfernt
)
Guten Tag!
Ich habe eine Tabelle, bei der in Spalte C3:C14 einige Länder stehen, in Spalte D3:D14 stehen Werte und in Spalte D15 wird die Summe der Werte aus D3:D14 gebildet. Zelle C15 ist leer.
Die Werte für die Zellen D3:14 werden über folgenden VBA-Code gezogen:
Sub 1
Dim n As Integer
Dim m As Integer
Dim Country As String
Dim Sales As Double
n = 2
Do While n < 48
Country = Worksheets("Sheet1").Cells(n, 3).Value
Sales = Worksheets("Sheet1").Cells(n, 4).Value
m = 3
Do While m < 45
If Country = Cells(m, 3).Value Then
Cells(m, 4).Value = Sales
End If
m = m + 1
Loop
n = n + 1
Loop
End Sub
Das funktioniert auch soweit alles hervorragend. Den VBA-Code auf die Zellen D3:D14 zu beschränken ist keine Lösung, da die Zeilen gelegentlich erweitert werden und dies automatisch geschehen soll.
Mein Problem ist, das mit Abspielen des Makros immer die Summenfunktion in Zelle C15 durch eine "0" ersetzt wird. Gibt es eine Möglichkeit, festzulegen, dass wenn Cells(m,3)="" ist, den Wert in Cells (m,4) unverändert zu lassen?
Die Funktion in Zelle D15 ist =SUMME(D3:INDEX(D:D;ZEILE()-1)) falls das hilft.
Aus Datenschutzgründen kann ich leider die Mappe nicht anhängen, ich hoffe das Problem wird aber auch so klar. Für Hilfe wäre ich sehr dankbar.
Vielen Dank!
Das Thema ist übrigens auch schon hier zu finden: VBA - Excel VBA-Problem - MS-Office-Forum. Bis jetzt kam es da aber noch zu keiner Lösung, ich aktualisiere natürlich sobald sich das ändert.
Ich habe eine Tabelle, bei der in Spalte C3:C14 einige Länder stehen, in Spalte D3:D14 stehen Werte und in Spalte D15 wird die Summe der Werte aus D3:D14 gebildet. Zelle C15 ist leer.
Die Werte für die Zellen D3:14 werden über folgenden VBA-Code gezogen:
Sub 1
Dim n As Integer
Dim m As Integer
Dim Country As String
Dim Sales As Double
n = 2
Do While n < 48
Country = Worksheets("Sheet1").Cells(n, 3).Value
Sales = Worksheets("Sheet1").Cells(n, 4).Value
m = 3
Do While m < 45
If Country = Cells(m, 3).Value Then
Cells(m, 4).Value = Sales
End If
m = m + 1
Loop
n = n + 1
Loop
End Sub
Das funktioniert auch soweit alles hervorragend. Den VBA-Code auf die Zellen D3:D14 zu beschränken ist keine Lösung, da die Zeilen gelegentlich erweitert werden und dies automatisch geschehen soll.
Mein Problem ist, das mit Abspielen des Makros immer die Summenfunktion in Zelle C15 durch eine "0" ersetzt wird. Gibt es eine Möglichkeit, festzulegen, dass wenn Cells(m,3)="" ist, den Wert in Cells (m,4) unverändert zu lassen?
Die Funktion in Zelle D15 ist =SUMME(D3:INDEX(D:D;ZEILE()-1)) falls das hilft.
Aus Datenschutzgründen kann ich leider die Mappe nicht anhängen, ich hoffe das Problem wird aber auch so klar. Für Hilfe wäre ich sehr dankbar.
Vielen Dank!
Das Thema ist übrigens auch schon hier zu finden: VBA - Excel VBA-Problem - MS-Office-Forum. Bis jetzt kam es da aber noch zu keiner Lösung, ich aktualisiere natürlich sobald sich das ändert.