Excel-VBA Named Bereich Zeilensumme
-
25-09-2019 - |
Frage
Ich habe den folgenden Code
For i = 1 To DepRng.Rows.Count
For j = 1 To DepRng.Columns.Count
DepRng.Cells(i, j) = Application.Sum(KidsRng.Row(i)) //Does not work
Next j
Next i
Auch wenn ich weiß, ist falsch, ich habe keine Ahnung, wie es in DepRng.Cells(i, j)
die Gesamtsumme des gesamten KidsRng.Row[i]
Jede Hilfe zu speichern zu bekommen?
Lösung 2
Sortiert, bedankt sich bei allen für Ihre Hilfe
DepRng.Cells(i, j) = Application.Sum(KidsRng.Rows(i)) //just needed to add the "s" in rows
Andere Tipps
Der folgende Code funktioniert ok.
Vielleicht sollten Sie es mit Ihren vergleichen:
Sub a()
Dim DepRng As Range
Dim kidsrng As Range
Set DepRng = Range("B1:B2")
Set kidsrng = Range("C1:F2")
For i = 1 To DepRng.Rows.Count
DepRng.Cells(i, 1) = Application.Sum(kidsrng.Rows(i))
Next i
End Sub
Bitte füllen Sie den Bereich C1: F2 mit Zahlen und die Summen pro Zeile wird in B1 erscheinen. B2 bei der Ausführung des Makros
Es kann eine bessere Weise als dies sein, aber das ist meine Lösung, die auf dem internen Excel-Formel-Motor hängt allerdings kann es ausreichend sein, für das, was Sie tun ... Es bestimmt die vollständige Adresse des KidsRng.Row (i), und führt sie in ein = SUMME () Formel-String und ausgewertet durch Application.Evaluate.
For i = 1 To DepRng.Rows.Count
For j = 1 To DepRng.Columns.Count
DepRng.Cells(i, j).Value = Application.Evaluate("=SUM(" & KidsRng.Row(i).Address(True, True, xlA1, True) & ")")
Next j
Next i
es an der Arbeit aktualisiert, wenn kidsrng in einem anderen Blatt / Buch existiert aktualisiert Application.Evaluate verwenden