構文
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
注意点
- .Formulaプロパティは数式を入力する=相対参照で入力をしてくれるということです。
- .Formulaを省略しても 文字列が=から始まっている為、.Formulaと認識します。※通常はValueと認識。
.Valueは必要?不必要?省略しても良い?【ExcelVBA】 - 今回のサンプルは、ワークシートは指定していないので、本来は付与すべきです。
ワークシート名を変数にSetし、短い名前で利用する【マクロ初級者必読】
関連記事
セルに値を入力する【Valueプロパティ】【ExcelVBA】
セルのシリアル値を取得する【Value2プロパティ】【ExcelVBA】
セルの表示しているデータを取得する【Textプロパティ】【ExcelVBA】
【VBA基本】変数のデータ型一覧



コメント