エクセルVBA名前付き範囲行和
-
25-09-2019 - |
質問
私持って、次のコード
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を使用するように更新
所属していません StackOverflow