VBATips

セルにSUM関数を数式として埋め込む【Formula】【パーツ化】

セルにSUM関数を数式として埋め込みたい

基本マクロを組む時はエクセルのSUM関数などの数式で処理しないのですが、
ユーザー要望で数式で反映しないといけない場合があります。
その場合、都度コードに書き込むのは手間で見にくくなります。その為パーツ化してしまいます。

セルにSUM関数を数式として埋め込みたいパーツ化したコード

'■エクセルのSUM関数を数式として返す(セルに数式を埋め込む)
Public Function call_FormulaCreate_SUM(r1 As Long, c1 As Long, r2 As Long, c2 As Long)
    call_FormulaCreate_SUM = "=SUM(" & Cells(r1, c1).Address & ":" & Cells(r2, c2).Address & ")"
End Function

実際の使い方

Public Sub sample()
    Cells(11, 1).Formula = call_FormulaCreate_SUM(1, 1, 10, 1)
End Sub

注意点

  • 大したコードではありません。
  • この記事でなくても、下記のように記載すれば反映しますが、読みづらい。
    Cells(11, 1).Formula = "=SUM(" & Cells(1, 1).Address & ":" & Cells(10, 1).Address & ")"
    
    '実際には上記のようなマジックナンバーで記入せず、定数や変数を利用するため、ぱっと見わかりづらい。
    Cells(11, 1).Formula = "=SUM(" & Cells(START_ROW, COL_GOODS_NUM).Address & ":" & Cells(LastRow, , COL_GOODS_NUM).Address & ")"
    

関連記事

コメント

タイトルとURLをコピーしました