前回の記事では、「マクロの記録」に関する注意点と、実際にExcelに対する操作を記録して、マクロを作成し実行まで試してみました。マクロはExcelに標準搭載されたVBE(Visual Basic Editor)で、いつでも編集することができます。
今回の記事では、簡単なVBAコードの解説とその編集にチャレンジしてみます。
今日は、前回の題材で使った
VBAコードの解読と編集だ!
は~い♡
本格的な学習だね!
このコードは次の操作をVBAでプログラミングしたものです。
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行分を記述してみてください。
なんか「プログラミング」してるって感じ♡
うむ!その調子だ!
①Sub RedText()
②Selection = “Test”
③Selection.Font.Size = 20
④Selection.Font.ColorIndex = 3
⑤Selection.Font.Bold = True
⑥End Sub
VBAの1行目に書かれる「Sub~」には、マクロ名が記述されます。そして、プログラミングは終わりの箇所を明示的に示す必要があります。もうお分かりですね!
最後の行の「⑥End Sub」がそのプログラムの終了を意味するコードなのです!
つまり、「①Sub ~」から「⑥End Sub」の間に、実行用のコードを記述すればよいのです。
②から⑤にかけて、Excelに処理をする具体的なコードが記述されています。
ここで使われている「Selection」は、今選んでいる箇所、つまり『Excel上でカーソルが置かれているセル』を指定するコードです。(以下、この記事では「そのセル」と表現します)
そのセルに、Text という文字を入力する
※文字列の場合には、””で囲む必要があります。
そのセルの文字サイズを20に設定する
そのセルの文字の色を赤にする
※色の設定はColorIndexを使う他、「RGB」や「Colorプロパティ」を使うこともできます。詳細は別記事で紹介します。
そのセルの文字を太字にする
※Trueは太字、Falseは標準です。
プログラムってこういう風になっているのね!
何となく分かってきたかも♡
いいぞ!
一瞬で動作しているように見える
プログラムも、実は細かい動作が
いくつも組み込まれているんだ!
勘のいい方なら、もう編集する箇所は想定できているでしょう!下記の赤字の箇所を任意に変更することで、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コードの編集まではクリアできたかと思います。
この調子でがんばりましょう!!
プログラミング的思考の
学習も忘れずにな!
今日はここまでだ!