関数・メソッド

セルへ数式を反映する【Formulaプロパティ】【ExcelVBA】

構文

Range.Formula = "エクセルの数式・関数" 

セルの数式を取得するFormulaプロパティはセルの数式を取得しますが、
セルに数式の反映も同様にFormulaプロパティで行います。

Formulaプロパティのコードサンプル

Public Sub test()

    '■.Formula で数式を反映
    Range("A1:A3").Formula = "=B1*C1"
    
    Debug.Print Range("A1").Formula '=B1*C1
    Debug.Print Range("A2").Formula '=B2*C2
    Debug.Print Range("A3").Formula '=B3*C3
        
    '■.Formula を省略しても.Formulaとして認識します(文字列の最初が=で始まっている為)
    Range("A4:A6") = "=B4*C4"

    Debug.Print Range("A4").Formula '=B4*C4
    Debug.Print Range("A5").Formula '=B5*C5
    Debug.Print Range("A6").Formula '=B6*C6

    '■ダブルクォーテーションはChr(34)で取り囲む
    Range("A7").Formula = "=LEFT(" & Chr(34) & "あいうえお" & Chr(34) & ",2)"
    
    '数式、値、取得するデータを指定せず省略(.Valueとなる)
    Debug.Print Range("A7").Formula '=LEFT("あいうえお",2)
    Debug.Print Range("A7").Value   'あい
    Debug.Print Range("A7")         'あい

End Sub

注意点

関連記事

セルに値を入力する【Valueプロパティ】【ExcelVBA】
セルのシリアル値を取得する【Value2プロパティ】【ExcelVBA】
セルの表示しているデータを取得する【Textプロパティ】【ExcelVBA】
【VBA基本】変数のデータ型一覧

コメント

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