まさ工房

ExcelVBAとAcessDBを利用した業務支援ツールを作成する工房です

【Excelマクロ・VBA】セルに数式を入力(Formula)する方法を教えて!

       f:id:m_kbou:20190806071227p:plain

セルに数式を入力する方法について説明します。セルに数式を入力するにはFormulaプロパティを使います。セルの参照にはA1形式とR1C1形式がありますので、その両方について説明します。

 

【目次】

 

構文

記述方法は、以下の通りとなります。

・A1形式

=======================================================================

Range(”[セル範囲]”).Formula = "[数式]"

=======================================================================

・R1C1形式

=======================================================================

Range(”[セル範囲]”).FormulaR1C1 = "[数式]"

=======================================================================

[説明]:

[セル範囲]には、数式をセットするセル値を記述します。[セル範囲]は「”」(ダブルクォーテーション)で囲みます。[数式]には[セル範囲]にセットする数式を記述します。[数式]についてもセル範囲同様に「”」で囲みます。また、指定した[セル範囲]に数式を入力するには、Formulaプロパティを記述します。FormulaプロパティにはA1形式とR1C1形式の2種類があり、例として”=B1”の数式を[セル範囲]にセットする場合には、A1形式では”=B1”をFormulaプロパティを使用して記述し、R1C1形式では”=R1C2”をFormulaR1C1プロパティを使用して記述します。内容を纏めると、「[セル範囲]で指定したセルに[数式]で指定した数式をセットして下さい。」との意味になります。

[記述例]:

Range("A1").Formula = "=B1"
Range("A1").FormulaR1C1 = "=R2C2"

 

使い方

使い方について、具体的に説明していきます。

A1形式でのセルに数式を入力する方法

A1形式でのセルに数式を入力する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Range("A1").Formula = "=B1"
End Sub

-------------------------------------------------

内容は、「A1セルにA1形式で指定した数式:”=B1”をセットして下さい。」との意味になります。

[実行例]:

・初期表示

※B1セル~B3セルに10~30の数字が入力されています。

f:id:m_kbou:20190806071248p:plain

・実行後

※A1セルにB1セルに値である「10」が表示されます。また、A1セルの内容を上部の数式バーで確認すると、数式:”=B1”がセットされている事がわかります。

f:id:m_kbou:20190806071301p:plain

A1形式でのセルに数式を入力する方法についての説明は以上です。

 

R1C1形式でのセルに数式を入力する方法

R1C1形式でのセルに数式を入力する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Range("A1").FormulaR1C1 = "=R2C2"
End Sub

-------------------------------------------------

内容は、「A1セルにR1C1形式で指定した数式:”=R2C2”をセットして下さい。」との意味になります。

[実行例]:

・初期表示

※B1セル~B3セルに10~30の数字が入力されています。

f:id:m_kbou:20190806071248p:plain

・実行後

※A1セルにB2セルに値である「20」が表示されます。また、A1セルの内容を上部の数式バーで確認すると、数式:”=$B$2”がセットされている事がわかります。

f:id:m_kbou:20190806071321p:plain

R1C1方式でのセルに数式を入力する方法についての説明は以上です。

 

おわりに

今回は、セルに数式を入力する方法について説明しました。今回のケースでは、他のセルに入力されている値をA1セルにFormulaプロパティを使用してセットしましたが、それ以外にも演算子や関数等(例:=B1+B2、=B1*B2、=sum(B1:B3))を指定した数式の入力もできます。是非色々なパターンを試してみて下さい。