前回の記事では、「マクロの記録」に関する注意点と、実際にExcelに対する操作を記録して、マクロを作成し実行まで試してみました。マクロはExcelに標準搭載されたVBE(Visual Basic Editor)で、いつでも編集することができます。

今回の記事では、簡単なVBAコードの解説とその編集にチャレンジしてみます。
実践:VBAコードを解読しよう
題材のコード


今日は、前回の題材で使った
VBAコードの解読と編集だ!



は~い♡
本格的な学習だね!
コードの内容
このコードは次の操作をVBAでプログラミングしたものです。
- カーソルが合っているセルに「Test」と入力する
- 文字サイズを20にする
- 文字の色を赤にする
- 文字を太字にする




まずはコードを書いてみよう!


Sub RedText()
Selection = “Test”
Selection.Font.Size = 20
Selection.Font.ColorIndex = 3
Selection.Font.Bold = True
End Sub
まずは、ExcelのVBE(マクロを記述するところ)に、上記のコードを記述してみよう。1行目(Sub ~)と最終行(End Sub)は元々、記述されている箇所なので、その間の4行分を記述してみてください。
VBAコード記述までの手順






右側の作成をクリック


完成見本





なんか「プログラミング」してるって感じ♡



うむ!その調子だ!
いよいよ、コードの解読!
①Sub RedText()
②Selection = “Test”
③Selection.Font.Size = 20
④Selection.Font.ColorIndex = 3
⑤Selection.Font.Bold = True
⑥End Sub
「①Sub ~」 と 「⑥End Sub」
VBAの1行目に書かれる「Sub~」には、マクロ名が記述されます。そして、プログラミングは終わりの箇所を明示的に示す必要があります。もうお分かりですね!
最後の行の「⑥End Sub」がそのプログラムの終了を意味するコードなのです!
つまり、「①Sub ~」から「⑥End Sub」の間に、実行用のコードを記述すればよいのです。
「②Selection = ~」 から 「⑤Selection.Font ~」まで
②から⑤にかけて、Excelに処理をする具体的なコードが記述されています。
ここで使われている「Selection」は、今選んでいる箇所、つまり『Excel上でカーソルが置かれているセル』を指定するコードです。(以下、この記事では「そのセル」と表現します)
そのセルに、Text という文字を入力する
※文字列の場合には、””で囲む必要があります。
そのセルの文字サイズを20に設定する
そのセルの文字の色を赤にする
※色の設定はColorIndexを使う他、「RGB」や「Colorプロパティ」を使うこともできます。詳細は別記事で紹介します。
そのセルの文字を太字にする
※Trueは太字、Falseは標準です。



プログラムってこういう風になっているのね!
何となく分かってきたかも♡



いいぞ!
一瞬で動作しているように見える
プログラムも、実は細かい動作が
いくつも組み込まれているんだ!
実践:VBAコードを編集しよう
初歩の編集
勘のいい方なら、もう編集する箇所は想定できているでしょう!下記の赤字の箇所を任意に変更することで、VBAの動きを変えることができます。
Textという文字を変えたり、文字のサイズ・色を変更して実行してみましょう!
Sub RedText()
Selection = “Test“
Selection.Font.Size = 20
Selection.Font.ColorIndex = 3
Selection.Font.Bold = True
End Sub
実行方法など、基本が分からない方は下記の記事を参考にしてください。


追加編集:セルを指定する
この章の最後では、既存のコードのみの編集ではなく、ひとつ機能を追加してみましょう!
今回のコードでは、操作対象のセルは 『Excel上でカーソルが置かれているセル』 が対象になっていましたが、この課題で任意のセルを指定してみたいと思います。
既存のコードに下記の赤字のコードを追加して実行してみてください。
Sub RedText()
Range(“A1”).Select
Selection = “Test“
Selection.Font.Size = 20
Selection.Font.ColorIndex = 3
Selection.Font.Bold = True
End Sub
セルA1を選択する



なるほど!
これまでの処理の前にセルを選択する
コードを追加したのね。



そうだ!
だいぶ理解が進んできたな!
プログラミングの学習は、
始めが大切だぞ!
あとがき
今回の記事では、初歩のVBAコードの解読や編集、機能の追加について説明しましたが、いかがでしたか?
キャプテンVBAのいう通り、プログラミング学習は初歩がとても大切です。なぜなら、プログラミング学習は一般的に「難しい分野」と認識されており、初歩で躓いてしまうと、「やっぱり自分には難しいのでは・・」と挫折に向かってしまいます。
前回の記事と、今回の記事を通してお読みいただいた方は、おそらくVBAコードの編集まではクリアできたかと思います。
この調子でがんばりましょう!!



プログラミング的思考の
学習も忘れずにな!
今日はここまでだ!

