Blog

BLOG

2021.12.20

VBAでプログラミング入門

このエントリーをはてなブックマークに追加

こんにちは。
クラウドソリューショングループ 池崎です。

プログラミング言語「VBA」をご紹介します。
冬の休暇に、少しばかり作業効率を上げる手段として勉強してみてはいかがでしょうか?

「VBA」は、Windowsユーザなら一度は使ったことがある、Microsoft社のOfficeシリーズに特化したプログラミング言語です。
「Visual Basic」、通称「VB」を元に、ExcelやAccessなどのアプリケーションに最適化されたもので、アプリケーション名が頭に付きます。
Excelなら「ExcelVBA」、Accessなら「AccessVBA」ですね。
アプリケーションごとに最適化されたものなので、似ていますが、Excelで「AccessVBA」は使えませんし、Accessで「ExcelVBA」は使えません。
この記事では、「ExcelVBA」を想定して話を進めます。

「ExcelVBA」の何が手軽かと言えば、Excelがインストールされていれば、他に何も用意する必要がない点です。
Java や Python といった言語を使ってプログラミングをしようとした時、エディタ、ライブラリ、実行環境、と始める前に準備すべきものがあります。
「ExcelVBA」なら、何かをダウンロードしてくる必要はありません。Excelさえインストールされていれば、思い立ったらすぐに始められます。

ExcelVBAとは

「ExcelVBA」を勉強するにあたって、知っておくべきことが二つあります。

ひとつは、「マクロ」と「ExcelVBA」の違い
これを知らないと、調べ物をする時に混乱すると思うので最初に。
「マクロ」と「ExcelVBA」は、どちらもExcelの自動処理を指す言葉として使われるので、初心者には違いがわかりにくいですね。
自分でマクロを組む知識がある人でさえ、きちんと説明できない場合もあります。
ザックリ言うと、機能と言語です。
「マクロ」とは、指定の作業を自動実行するという機能の名前であり、「ExcelVBA」はそのマクロを構成するためのプログラミング言語を指す言葉です。
似て非なるもの、というよりは、完成品と素材の関係です。

もう一つは、バージョンの違いです。
Excelは現在進行形で進化を続けているビジネスソフトです。
個人で保有できるマシンのスペックがどんどん高くなるのに合わせ、新機能が続々登場します。
当然、初期の頃と現在ではできることも見た目も違います。
直近だと2003あたりで慣れていた人が2010あたりを目にすると、見た目が違い過ぎて驚くと思います。
私も驚いた一人です。
あの機能どこ行った!?マシンスペックが足りてなくて重い!と大混乱しましたね。
バージョンが違うと、ネット上で調べたとおりに記述しても、うまく動作しない場合があります。
過去自分で作ったマクロが動かなくなることもあるので、その時は最新情報に従って更新していく必要があります。

実践「 Hello world ! 」

最後に、新しいプログラミング言語を実行する時の慣例、「Hello world!」を実行して終わりとします。
これは元々、プログラミングをする環境が整っていることを確認するためのものです。
「ExcelVBA」の場合は必要性が薄いですが、ここは慣習に倣って。

01

手順1

まずはExcelで、新しいブックを作成します。
ブックを開いたら、alt+F11でエディタを開きます。

02

手順2

下画像の赤枠内を右クリックして、挿入 >> 標準モジュールをクリックします。

03

手順3

下画像のように、「Module1」ができて、赤枠部分をクリックした時カーソルが点滅していれば成功です。
もしも赤枠部分にカーソルが出ない場合は、「Module1」をダブルクリックしてください。
この赤枠部分に記述していきます。

記述内容は、以下の通り。
画像の通りに記述してください。

04

手順4

下の「sub」から「end sub」をコピー&ペーストしても出来ます。
エディタが自動的に足りない部分を補い、実行できる形にしてくれます。
Excelに付属する専用エディタだからこそ出来ることですね。

sub hello
 msgbox "Hello World!"
end sub

05

手順5

ブックを「マクロ有効ブック」として保存します。
VBAを編集する場合は、必ずこの「マクロ有効ブック」として保存してください。

06

手順6

下画像の画面で、「Sub」から「End Sub」の間のどこかにカーソルを移動させた状態でF5を押します。

下画像のようにポップアップが出れば成功です。

これであなたの初めてのプログラムは完成しました。おめでとうございます!


「Hello world!」は、最も簡単なプログラムです。
まずは「ExcelVBA」における「Sub」「msgbox」とは何か、検索するところから勉強を始めてみてください。

カレンダー

«12月»
   1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

最近のエントリー

おもちゃたちは、いつも必要とされなくなる不安と向き合っていた?|『トイ・ストーリー』シリーズを振り返って

2026.07.13

『トイ・ストーリー』シリーズを、「必要とされなくなる不安」という視点から振り返ります。ウッディたちが向き合ってきた居場所の変化、役割の終わり、そしてデジタル時代におけるおもちゃの存在意義を通じて、現代を生きる私たちの不安にも重なるテーマを考えます。

創立35周年を迎えて― 感謝と、その先の未来へ ―

2026.07.06

創業以来、多くの環境変化を乗り越えながら成長を続けてきたSUNBIT。これまでの歩みを振り返るとともに、リーマンショックやAI時代など大きな変化の中で事業を進化させてきた歴史をご紹介。変わらない「お客様の理想を中心に」という姿勢を大切にしながら、40周年、50周年に向けて目指す未来と、これからの取り組みについてお伝えします。

ラージボール卓球 ~2026年度 全九州卓球選手権大会(ラージボールの部)

2026.06.29

5月に大分県のべっぷアリーナで開催された「第27回 全九州卓球選手権大会(ラージボールの部)」に出場した体験を紹介します。混合ダブルス100~119歳クラスに出場し、結果は1勝1敗で予選敗退となりましたが、昨年の初出場時と比べて落ち着いて試合に臨めたことで、自身の成長を実感できる大会となりました。試合を通じて感じた緊張との向き合い方や、長く競技を続けるための健康管理、ラージボール卓球の魅力についてもお伝えします。

自転車に対する道交法改正、その後

2026.06.22

2026年4月から始まった自転車の青切符制度。施行当初は大きな話題となりましたが、実際の街中ではどのような変化が起きているのでしょうか。法改正によって自転車が車両であるという意識は高まった一方、一時不停止や踏切での停止など実際の運用とのギャップも感じられる状況です。交通ルールや安全運転について改めて考えてみました。

アーカイブ

ブログ内検索

  1. TOP
  2. BLOG
  3. VBAでプログラミング入門