Excel VBA(マクロ)で何かツールを作るときは
その目的を達成するためには、どういうコードにすれば良いか考えます。
自分の考えとして Excel VBA でプログラミングするときに発想を出すためには
If 文、For 文、Select Case 文をどう使うか?
が大切だと考えています。
これらの意味と使い方を理解することでコードの大枠と流れを考えれるようになれます。
1、思考に関わる If 文、For 文、Select Case 文
If 文、For 文、Select Case 文は、日本語に置き換えて理解しておくべきでしょう。
If 文
If 文は
もし◯◯の場合××する
という意味をコードに置き換えたものです。
これを使って場合分けをすることができます。
セルA1 が1の場合は、セルB1 に2と出力する
という具合にです。
おそらく Excel VBA でツールを作るときに一番登場頻度が高い構文だと思います。
VBA での使い方についてはこちらの記事を参考にして下さい ↓
日常生活でもこの If 文と同じように思考してますよね?
明日雨が降ったら、傘を持って出勤する
という感じにです。
このように日常生活でも頻繁に使う思考を、VBA でも If 文という形で頻繁に使います。
For 文
For 文は繰り返しに使います。
i が 1から10 になるまで同じ処理を繰り返す
という様に使います。
例えば、
セルA1~A10 まで1つずつ数字を増やして表示させる
という具合にです。
VBA での使い方についてはこちらの記事を参考にして下さい ↓
これも日常生活で同じ様な考え方しますよね。
資料1 から 10 まで1枚ずつ印鑑を押していく
という具合に繰り返し作業を行うときの思考です。
繰り返し処理はプログラミングが、最も得意とするところです。
Select Case 文
Select Case 文は、複数の場合分けに使います。
・もし◯◯の場合は××する
・もし●●の場合は※※する
・それ以外の場合は◇◇する
と様々なケースごとにやることを変えることになります。
これをコードに置き換えたものです。
セルA1 が
・1の場合は、セルB1 に2と表示する
・2の場合は、セルB1 に3と表示する
・上記以外の場合は、セルB1 に4と表示する
という具合にです。
日常生活でもこの Select Case 文と同じように思考してますよね?
明日の天気が
・晴れだったら手ぶらで行く
・雨だったら傘をさして行く
・それ以外の場合(曇りの場合)は折りたたみ傘をカバンに入れていく
という感じにです。
2、場合分け、繰り返しで発想をする
プログラミングするときに
●If 文、Select Case 文 による場合分けをどのように行うか?
●For 文による繰り返し処理をどのように行うか?
を意識するとやりやすくなります。
言い方を変えれば、プログラミングしているときに
この部分を作るのに If 文、Select Case 文、For 文のどれかを使って何とかならないかな?
と意識すると良いかと思います。
3、まとめ
Excel VBA でプログラミングするときには
If 文、For 文、Select Case 文をどう使うか?
意識すると良いと思います。
これらの構文は、プログラミングの発想をする上でとても重要ですので、しっかりとおさえるようにしておきましょう!
編集後記
昨日(3/28)は確定申告の資料返却のために終日西伊豆方面へ出張。
仕事の後には久しぶりにマッサージに行ってきました。
あと、最近ミニサイト作りをしています。
ミニサイトというのは、テーマを絞って少ない記事数で完結させるサイトのことです。
またどこかで記事にできればと思います。