Excelのマクロの編集にチャレンジ!VBAの簡単なコードを理解する

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

上記の記事内でも説明していますが、当サイトは「マクロの記録」の機能について、部分的・補完的な使用に限定することを強くおススメしています。VBAの使用は、しっかりとした学習に基づかなければリスクでしかありません。

今回の記事では、簡単なVBAコードの解説とその編集にチャレンジしてみます。

目次

実践:VBAコードを解読しよう

題材のコード


キャプテンVBA

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

事務職さん

は~い♡
本格的な学習だね!

コードの内容

このコードは次の操作をVBAでプログラミングしたものです。

  1. カーソルが合っているセルに「Test」と入力する
  2. 文字サイズを20にする
  3. 文字の色を赤にする
  4. 文字を太字にする
実行前
実行後

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


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行分を記述してみてください。

VBAコード記述までの手順

開発タブ内のマクロをクリック
②マクロ名の入力欄に任意のマクロ名を入力
③この例ではRedTextにしておきます
右側の作成をクリック
④ここにコードを記述する

完成見本

事務職さん

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

キャプテン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上でカーソルが置かれているセル』を指定するコードです。(以下、この記事では「そのセル」と表現します)

②Selection = “Test”

そのセルに、Text という文字を入力する
※文字列の場合には、””で囲む必要があります。

③Selection.Font.Size = 20

そのセルの文字サイズを20に設定する

④Selection.Font.ColorIndex = 3

そのセルの文字の色を赤にする
※色の設定はColorIndexを使う他、「RGB」や「Colorプロパティ」を使うこともできます。詳細は別記事で紹介します。

⑤Selection.Font.Bold = True

そのセルの文字を太字にする
※Trueは太字、Falseは標準です。

ここでは、コードの意味を詳しく理解する必要はありません。「VBAってこういう風に指定しているんだ!」程度で掴んでおきましょう。

事務職さん

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

キャプテンVBA

いいぞ!
一瞬で動作しているように見える
プログラムも、実は細かい動作が
いくつも組み込まれているんだ!

実践:VBAコードを編集しよう

初歩の編集

勘のいい方なら、もう編集する箇所は想定できているでしょう!下記の赤字の箇所を任意に変更することで、VBAの動きを変えることができます。

Textという文字を変えたり、文字のサイズ・色を変更して実行してみましょう!

VBAコード

Sub RedText()

Selection = “Test

Selection.Font.Size = 20
Selection.Font.ColorIndex = 3
Selection.Font.Bold = True

End Sub

ColorIndexでは、56色の色を1~56の数字で表すことができます。ここではすべてを紹介できませんが、ランダムで数字を変えて試してみてください。
(例:黄緑=4、青=32、黄=27、)

実行方法など、基本が分からない方は下記の記事を参考にしてください。

追加編集:セルを指定する

この章の最後では、既存のコードのみの編集ではなく、ひとつ機能を追加してみましょう!

今回のコードでは、操作対象のセルは 『Excel上でカーソルが置かれているセル』 が対象になっていましたが、この課題で任意のセルを指定してみたいと思います。

既存のコードに下記の赤字のコードを追加して実行してみてください。

VBAコード

Sub RedText()

Range(“A1”).Select

Selection = “Test

Selection.Font.Size = 20
Selection.Font.ColorIndex = 3
Selection.Font.Bold = True

End Sub

Range(“A1”).Select

セルA1を選択する

事務職さん

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

キャプテンVBA

そうだ!
だいぶ理解が進んできたな!
プログラミングの学習は、
始めが大切だぞ!

あとがき

今回の記事では、初歩のVBAコードの解読編集、機能の追加について説明しましたが、いかがでしたか?

キャプテンVBAのいう通り、プログラミング学習は初歩がとても大切です。なぜなら、プログラミング学習は一般的に「難しい分野」と認識されており、初歩で躓いてしまうと、「やっぱり自分には難しいのでは・・」と挫折に向かってしまいます。

前回の記事と、今回の記事を通してお読みいただいた方は、おそらくVBAコードの編集まではクリアできたかと思います。

この調子でがんばりましょう!!

キャプテンVBA

プログラミング的思考
学習も忘れずにな!

今日はここまでだ!


よかったらシェアしてね!
  • URLをコピーしました!
目次