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.10.26

便利な音声入力アプリを、社内のみんなにも使ってほしい。でも、全社員分の利用料を考えると導入をためらってしまう――。そんな課題をきっかけに、AIエージェントを使って独自のアプリを作ってみました。いきなりコードを書かせず、まずは課題と設計を整理することからスタート。実装やテスト、不具合の修正を経て、1日である程度使える形になるまでの進め方を紹介します。「作るか、買うか」を考えるヒントになる開発体験記です。

門司港で南極観測船「しらせ」を見学してきました

2026.10.19

南極へ向かう船の中は、どうなっているのでしょうか?14年ぶりに門司港へ寄港した南極観測船「しらせ」の一般公開に行ってきました。間近で見る全長138mの船体の迫力や、甲板・艦橋などの見学を通して、遠い南極での活動がぐっと身近に。街では南極の氷や石の展示、しらせのレシピを使ったカレーも楽しめるなど、寄港を歓迎する催しが行われました。見学で印象に残ったことや、周辺イベントの様子をご紹介します。

子どもも大笑い、懐かしい物語 プロイスラー作『大どろぼうホッツェンプロッツ』を読み返して

2026.10.13

子どもの頃に親しんだ『大どろぼうホッツェンプロッツ』を、小学2年生の子どもに読み聞かせて再発見した物語の魅力。魔法使いと少年の愉快なやりとり、おいしそうな食べ物、ハラハラさせる描写など、三部作それぞれの味わいを紹介します。懐かしい『セロ弾きのゴーシュ』との再会にも触れながら、親子で一緒に笑い、本のおもしろさを分かち合える今の時間を大切にしたいですね。

「出社回帰」の時代に、SUNBITがテレワークを続ける理由

2026.10.05

「出社回帰」が広がる今、SUNBITがテレワークを続ける理由とは?通勤負担の軽減や、家族との時間、休養、自己研鑽など、柔軟な働き方には多くの価値があります。対面交流の良さも取り入れながら、社員の健康と自律性、仕事の成果を大切にするSUNBIT。一人ひとりが力を発揮できる働き方への考えをお伝えします。

アーカイブ

ブログ内検索

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