Mutable_Yunの業務改善ブログ

業務改善や生産性向上のブログです。自動化の手段として、VBAやRPAの勉強に役立つ解説をしています。

Excel VBA入門 本当のど初心者向け② 変数は箱

<分かりやすくするために不要な記述を削除・加筆・修正 2019/11/17>

入門者~初心者向けVBA導入記事シリーズの2回目です。今回はプログラミングの重要な文法に踏み込んでいきます。

この記事は入門~初心者向けです。
レベルについてはExcel VBAの実力(レベル)を定義してみる 初心者~三段をご参照ください。

目次

この記事の狙い

この記事は、プログラミング自体が初めての人が、最初に選ぶ言語にVBAを選んだ場合に、入門者が初心者を卒業し、初級者の入口までレベルアップするためのシリーズの2回目です。

初めてプログラミングを勉強する人はもちろん、指導の立場にある人にも私が教えていて失敗した経験も書いているので、参考にできるのではないかと思います。

初心者卒業のステップとこの記事の狙い2
初心者卒業のステップとこの記事の狙い2
1,2の記事は、Excel VBA 入門 本当のプログラミング初心者の業務効率化の始め方とその第一歩①(全2回)をご覧下さい。

変数は箱

変数っていうから難しい響きがありますが、要するに箱のようなモノだと思えば良いです。変数という箱には数値や文字列のような値を入れておく事ができます。あるいはメモのようなモノとも言えます。後ほど使うために一時的に書き込んでおくメモですね。

変数の箱に文字列を入れてみる

Excel VBA 入門 本当のプログラミング初心者の業務効率化の始め方とその第一歩①(全2回)のサンプルコード再掲

Sub 初めてのプログラミング()

    Cells(1, 1) = "こんにちは"
    
End Sub

これはワークシートの一丁目一番地に「こんにちは」と書くプログラムでした。この「こんにちは」を変数に入れてみます。

Sub 初めてのプログラミング()
    
    あいさつ = "おはようぅぅぅ!"
    Cells(1, 1) = あいさつ
    
End Sub

””で囲まれた部分は文字列でしたね。「あいさつ」には””がついていません。つまり、これは文字列では無い、と言う事です。VBAではこのように突然出てきた””がついた文字で始まる言葉を変数と捉えます。箱ですね。変数っていうと中学校の数学を思い出しますか?それでいいです。

Sub 初めてのプログラミング()
    
    x= "おはようぅぅぅ!"
    Cells(1, 1) = x
    
End Sub

今回はxを変数名にしました。しかし、変数名分かりやすい方が良いです。このようにxなどとつけると、後にプログラムコードを見たときにどんな値を入れるか分かりにくくなってしまいます。次は、xではなく、より分かりやすい変数名を準備して変数を試してみましょう。

セルの番地の指定に変数の箱を使ってみる

セルは番地で表現できていますよね。セルの番地を変数で表現してみましょう。

Sub 初めてのプログラミング()
    
    あいさつ = "おはようぅぅぅ!"
    行番号 = 3
    
    Cells(行番号, 1) = あいさつ
    
End Sub

変数に一旦、数字を入れて、それを使うイメージができたでしょうか。

しかし、メリットがまだよく分からないですよね。行番号に2をいれて、Cellの行番号を入れるところに変数名である「行番号」を入れましたよね。だったら、最初からCells(2 ,2)ってやればいいじゃん、と。これについて簡単に説明します。

変数を使う事の意味

今回は「あいさつ」や「行番号」といった変数に、値を直接入れました。しかし、実務的には初めから値が分からない場合があります。例えば日々何かのデータを処理しているとして、データの量が毎日異なる事は普通です。

売上データだったら、毎日売り上げ実績は異なるので、行数が異なるのが自然です。このように、状況よって変わるもの、計算でしか求められない、プログラムの中に書き込んでおけない値を変数にしておきます。こうすることで、「最初の行から最後の行まで同じ処理を繰り返す」と言う事をプログラムとして書き込むことができます。これが、変数という箱、あるいはメモの価値です。

以上、プログラミング初心者・入門者の一つ目の山、変数に関しての解説でした。

質問ご意見はお気軽にコメント欄にどうぞ!