-
∨目次
- セルに関数を設定する
- セルの範囲に関数を設定する
- 指定したシートのセルに関数を設定する
VBA セルに関数を設定する
はじめに
Excel VBA マクロのセルに関数を設定する方法を紹介します。
Range.Formula プロパティまたは Cells.Formula プロパティでセルに関数や数式を設定できます。
- 値を設定するには「セルに値を設定する」をご覧ください。
- セルを取得するには「セルや範囲を取得する」をご覧ください。
-
目次
- セルに関数を設定する
- セルの範囲に関数を設定する
- 指定したシートのセルに関数を設定する
セルに関数を設定する
Range の引数にセル名を指定すると、そのセルに関数や数式を設定できます。
セル「A1」に関数を設定するにはRange("A1").Formulaを入力します。
Range("A3").Formula = "=SUM(A1:A2)"
Cells の引数にセルの行と列の番号を指定すると、そのセルに関数や数式を設定できます。
行「2」、列「A」に関数を設定するにはCells(2, 1).Formulaを入力します。
Cells(3, 1).Formula = "=SUM(A1:A2)"
値には Excel の数式に入力する値をそのまま設定します。

セルの範囲に関数を設定する
セルの範囲「A3」~「B4」に関数を設定するにはRange("A3:B4").FormulaまたはRange("A3", "B4").Formulaを入力します。
Range("A3:B4").Formula = "=SUM(A1:A2)"
Range("A3", "B4").Formula = "=SUM(A1:A2)"

このように範囲の左上「A3」を基準にして関数が設定されています。これはセル「A3」をコピーして「A3」~「B4」に貼り付けしているのと同じ動作です。
- A3:"=SUM(A1:A2)"
- A4:"=SUM(A2:A3)"
- B3:"=SUM(B1:B2)"
- B4:"=SUM(B2:B3)"
同じセルを参照するように設定するには、絶対パスで指定します。
Range("A3:B4").Formula = "=SUM($A$1:$A$2)"

スポンサーリンク
指定したシートのセルに関数を設定する
シートを指定するには Worksheets の引数にシート名またはインデックスを指定します。
Sheet1 を指定するにはWorksheets("Sheet1")またはWorksheets(1)を入力します。

' Sheet1 のセル「A3」に関数を設定
Worksheets("Sheet1").Range("A3").Formula = "=SUM(A1:A2)"
Worksheets(1).Range("A3").Formula = "=SUM(A1:A2)"
' Sheet2 のセル「A3」に関数を設定
Worksheets("Sheet2").Range("A3").Formula = "=SUM(A1:A2)"
Worksheets(2).Range("A3").Formula = "=SUM(A1:A2)"
Sheet1 に Range や Cells を入力すると、自身のシートのセルになります。自身を表すMe.が省略されています。
' どちらも同じコード
Range("A1").Value = "Sheet1"
Me.Range("A1").Value = "Sheet1"
標準モジュールに Range や Cells を入力すると、アクティブなシートのセルになります。アクティブシートを表すActiveSheet.が省略されています。
' どちらも同じコード
Range("A1").Value = "アクティブ"
ActiveSheet.Range("A1").Value = "アクティブ"