教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について説明していきます。

【ExcelVBA セル操作】セルに数式を入力(Formula)する方法を教えて!

       f:id:m_kbou:20200419124347p:plain

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

 

【目次】

 

構文

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

・A1形式

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

Range(”[対象セル]”).Formula = "[数式]"

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

・R1C1形式

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

Range(”[対象セル]”).FormulaR1C1 = "[数式]"

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

[説明]:

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

[記述例]:

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))を指定した数式の入力もできます。是非色々なパターンを試してみて下さい。