質問

私持って、次のコード

 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

は、私が知っているもののが間違っている、私はそれがすべてのヘルプDepRng.Cells(i, j)全体KidsRng.Row[i]の総和を格納するために取得する方法が分からない?

役に立ちましたか?

解決 2

ソート、すべてのあなたの助けに感謝します。

   DepRng.Cells(i, j) = Application.Sum(KidsRng.Rows(i)) //just needed to add the "s" in rows

他のヒント

次のコードは、[OK]を動作します。

おそらく、あなたはあなたとそれを比較する必要があります:

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

ちょうど範囲C1を満たす:数字とF2と行当たりの合計がB1に表示されます。マクロの実行時にB2

は、これよりも良い方法があるかもしれませんが、これは、それはあなたがやっていることのために十分に十分であるかもしれない、けれども内部Excelの数式エンジンに依存して私の解決策です...それはKidsRng.Rowの完全なアドレスを決定します(I)、および= SUM()式文字列にそれを供給し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
kidsrngが異なるシート/ブック内に存在する場合は、

仕事にそれを更新 Application.Evaluateを使用するように更新

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top