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年頭のご挨拶

2026.01.05

新年のご挨拶として、2025年の出来事を通じて感じた社会の変化や、これからの時代に求められる姿勢についてお伝えします。世界情勢、日本の政治、物価や農業の課題、そして不正に対する社会の目の厳しさなど、幅広いテーマを取り上げながら、企業として、個人として何を大切にすべきかを考えました。丙午の年を迎え、前向きな決意と未来への思いについて記しています。

地図から消された島

2025.12.22

広島県・大久野島は、現在は約1,000羽のうさぎが暮らす「うさぎの島」として親しまれていますが、戦時中には日本軍による毒ガス製造が行われ、軍事機密として地図から消されていた過去があります。観光地としての穏やかな姿と、加害の歴史という二つの側面を知ることで、戦争と平和について改めて考えさせられました。戦後80年の節目に訪れた経験から、歴史を学び続ける大切さを実感しています。

『カロミル』で食事管理をやってみた

2025.12.15

今回は、食事管理アプリ「カロミル」を実際に使ってみた感想をご紹介します。アプリは入力が手軽で、料理名を入れるだけでカロリーやPFCバランスを自動計算してくれます。写真から成分を読み取る機能や、よく食べるメニューを登録できる「Myメニュー」も便利で、無理なく食事管理を続けたい方におすすめです。

Salesforce のダッシュボードの機能 〜ダッシュボードの検索条件同等の項目〜

2025.12.12

今回の記事では、Salesforce ダッシュボードの便利な機能「検索条件同等の項目」を分かりやすく紹介しています。この設定を使うと、異なる日付項目やユーザー項目でも、同じ検索条件で一括フィルターできるようになります。例えば「今月の見積提出」と「今月の納品予定」を同時に確認したい時にとても有効です。営業会議での状況把握がスムーズになり、ダッシュボードの活用幅が広がります。

アーカイブ

ブログ内検索

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