式の設定と取得

広告

セルに数式を設定したり、セルに設定されている数式を取得するには、Rangeオブジェクトの「Formula」プロパティを使います。

Dim range1 As Range

Set range1 = Range("A4")
range1.Formula = "=Sum(A1:A3)"

またRangeオブジェクトを取り出す部分を省略して次のようにも記述可能です。

Range("A4").Formula = "=Sum(A1:A3)"

注意すべき点としては「Value」プロパティを使う場合には、セルに数式などが設定されていた場合でも、数式ではなく値が取得されます。

サンプルプログラム

では実際に試してみます。

testcellvalue1.bas

Sub テスト()

    Dim range1 As Range

    Set range1 = Range("A4")
    range1.Formula = "=Sum(A1:A3)"
    
    Cells(4, 2).Formula = "=Sum(B1:B3)"
    
End Sub

実行してみると次のようになります。

計算式の設定

今度はセルに設定されているセルを読み出してみます。

Sub テスト()
    
    MsgBox Cells(4, 2).Formula
    
End Sub

実行してみると次のようになります。

計算式の設定

このように「Formula」プロパティを使った場合には「値」ではなく「式」が取得されます。

Excel VBA入門の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)