構文
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基本】変数のデータ型一覧
コメント