見出し画像

Excelマクロで変数をシートに保存する

前回の[VBA(マクロ)で変数を使って計算する]では、変数を足し算した結果をmsgboxコマンドで表示しました。

変数は VBA(マクロ)を終了すると消えてしまうので、消える前にシートに書き込んでおくようにしましょう。

シートに登録している値を変数に取得したり、変数をシートに保存する VBA(マクロ)について説明します。

シートから値を変数に取得する

前回は、下記のように変数に直接値を代入しました。

Sub 変数マクロ()
   Dim A As Integer
   Dim B As Integer
   Dim C As Integer
   
   A = 1
   B = 2
   C = A + B

   msgbox "答えは " & Str(C) & "です。"
End Sub

今回は、シートから値を変数に取得します。

上のシートのように入力してください。

Sub 変数マクロ3()
   Dim A As Integer
   Dim B As Integer
   Dim C As Integer
   
   A = Worksheets("Sheet1").Range("C2").Value
   B = Worksheets("Sheet1").Range("C3").Value
   C = A + B

   msgbox "答えは " & Str(C) & "です。"
End Sub

VBA(マクロ)を上のように修正して実行すると下図のように表示します。

今回のVBA(マクロ)では、シートから値を変数に代入しています。

シートに値を保存する

シートから値を変数に代入することを学びましたので、今度は[シートに値を保存する]方法について説明します。

先ほどのVBA(マクロ)に下のように追加してください。

Sub 変数マクロ3()
   Dim A As Integer
   Dim B As Integer
   Dim C As Integer
   
   A = Worksheets("Sheet1").Range("C2").Value
   B = Worksheets("Sheet1").Range("C3").Value
   C = A + B

   MsgBox "答えは " & Str(C) & "です。"
   
   Worksheets("Sheet1").Range("C4").Value = C
End Sub

VBA(マクロ)を実行して下の表示が出たら[OK]を押します。

C4 に 3 が入力されています。

Worksheets("Sheet1").Range("C4").Value = C

上の命令は、[C の値(3)を C4 に入力しなさい。]という命令です。
変数をシートに保存する例を説明しました。

1. シートから値を変数に取得する。
2. 変数の値をシートに保存する。

この2つのことが理解できましたか?

理解できたら[スキ]、わからないときは下のコメント欄に[コメント]を投稿してください。