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?

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top