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  

最近のエントリー

Googleサービスで独自アプリを作成する

2026.02.09

Google Apps Script(GAS)を使い、生成AI「Gemini」と組み合わせて日報用の簡易Webアプリを作る手順を紹介します。NotebookLMにGASリファレンスを集めて参照資料を整え、専用Gemを作成。スプレッドシートを保存先に設定し、Geminiに要件を伝えてコードと導入手順を生成します。Apps ScriptでWebアプリとしてデプロイすれば、PC・スマホから入力してシートへ保存できます。

新春から晴れやかな気持ちに-「世界秩序が変わるとき」-を読みおえて

2026.02.02

年末年始に読了した「世界秩序が変わるとき」を通じ、新自由主義の終焉と国家主導・地政学重視の新たな世界秩序への転換を考察します。覇権国家アメリカの立場を踏まえつつ、日本が「失われた30年」で培った現場力や組織力が、いま再評価される可能性に着目。世界のパラダイムシフトを前向きに捉え、日本の未来に希望を見いだす内容です。

炊飯器の買い替え|メーカーから機種選びまで

2026.01.26

10年使った炊飯器が大きな故障はないものの、水漏れや炊き上がりの変化などから寿命を意識し、買い替えを検討。ネット検索では情報過多に戸惑い、家電量販店で最新事情を確認する流れを選びました。メーカーは保温性能と使い慣れた考え方を重視し、象印マホービンを継続候補に。価格帯や世代差、型落ち上位モデルの魅力を整理し、価格推移を見ながら最適な購入タイミングを探っています。

Salesforce のダッシュボードの機能 〜動的ゲージグラフの設定方法〜

2026.01.23

ダッシュボードの目標管理を、もっと効率的に行いたい方におすすめの記事です。Salesforceの「動的ゲージグラフ」は、ユーザーやレコードの項目を目標値として参照できるため、複数のダッシュボードで同じ目標を使っている場合でも、元データを一か所更新するだけで反映される点が特長です。具体的な仕組みから具体的な作成手順、活用時のポイントまでを分かりやすく解説しています。KPI管理や目標達成率の可視化に役立つ内容となっております。

アーカイブ

ブログ内検索

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