カテゴリ: Excel VBA 更新日: 2026/02/06

Excel VBA開発環境を整えたら最初に書きたい簡単なVBAスクリプト例を初心者向けに解説

開発環境を整えたら最初に書きたい簡単なVBAスクリプト例を紹介
開発環境を整えたら最初に書きたい簡単なVBAスクリプト例を紹介

先生と生徒の会話形式で理解しよう

生徒

「ExcelでVBAの開発環境は準備できたんですが、最初に何を書けばいいのか分かりません…」

先生

「それは多くの初心者が悩むところですね。まずは動いたと実感できる簡単なスクリプトから書くのが大切です」

生徒

「パソコン操作も慣れていないので、できるだけ簡単なものがいいです」

先生

「では、Excel VBAの基本が自然に身につく例を順番に見ていきましょう」

1. 開発環境を整えた直後にスクリプトを書く意味

1. 開発環境を整えた直後にスクリプトを書く意味
1. 開発環境を整えた直後にスクリプトを書く意味

Excel VBAの開発環境を整えたばかりの状態では、まだVBEやマクロの動きに慣れていません。そのため、難しい処理を書く前に、まずは「動いた」という体験をすることが重要です。

これは、自転車に初めて乗るときに、いきなり遠くまで走らず、少しだけ進んで感覚をつかむのと同じです。簡単なVBAスクリプトを書くことで、自信がつき、操作にも慣れていきます。

2. まずはメッセージを表示するVBAを書いてみよう

2. まずはメッセージを表示するVBAを書いてみよう
2. まずはメッセージを表示するVBAを書いてみよう

最初におすすめなのが、画面にメッセージを表示するスクリプトです。Excel VBAでは、MsgBoxという命令を使うと、簡単にメッセージを表示できます。

これは、パソコンに「ここに文字を出して」とお願いするようなものです。


Sub FirstMessage()
    MsgBox "はじめてのVBAです"
End Sub

このスクリプトを実行すると、小さなウィンドウが表示され、文字が出てきます。


はじめてのVBAです

3. マクロの基本構造を理解しよう

3. マクロの基本構造を理解しよう
3. マクロの基本構造を理解しよう

VBAのプログラムは、Subから始まり、End Subで終わります。このかたまりをプロシージャと呼びます。

プロシージャとは、「ひとまとまりの作業」という意味です。料理でいうと、レシピ一つ分のようなものです。

名前は自由に付けられますが、何をするマクロなのか分かる名前にすると管理しやすくなります。

4. セルに文字を書き込む簡単なVBA

4. セルに文字を書き込む簡単なVBA
4. セルに文字を書き込む簡単なVBA

次に、Excelらしい動きを体験してみましょう。VBAを使うと、セルに自動で文字を書き込むことができます。

これは、手で入力する作業をVBAに任せるイメージです。


Sub WriteCell()
    Range("A1").Value = "VBAで入力しました"
End Sub

実行すると、A1セルに文字が表示されます。


A1セルに「VBAで入力しました」と表示される

5. 変数を使った超シンプルな例

5. 変数を使った超シンプルな例
5. 変数を使った超シンプルな例

変数とは、数字や文字を一時的に入れておく箱のようなものです。VBAでは、後から使う値を保存するために使います。

難しく考えず、「名前付きのメモ帳」くらいの感覚で大丈夫です。


Sub UseVariable()
    Dim message As String
    message = "変数を使いました"
    MsgBox message
End Sub

この例では、文字を変数に入れてから表示しています。

6. 処理が順番に動くことを確認するスクリプト

6. 処理が順番に動くことを確認するスクリプト
6. 処理が順番に動くことを確認するスクリプト

VBAは上から順番に処理を実行します。この流れを確認するために、メッセージを二回表示してみましょう。


Sub OrderTest()
    MsgBox "最初の処理です"
    MsgBox "次の処理です"
End Sub

このように、書いた順番どおりに動くことが体感できます。

7. エラーを恐れず試すことが大切

7. エラーを恐れず試すことが大切
7. エラーを恐れず試すことが大切

初心者のうちは、エラーが出ることもあります。しかし、エラーは失敗ではなく、VBAが「ここが分からない」と教えてくれているサインです。

簡単なスクリプトを何度も書いて実行することで、VBEの操作やエラーメッセージにも自然と慣れていきます。

8. 最初のスクリプトは成功体験を重視しよう

8. 最初のスクリプトは成功体験を重視しよう
8. 最初のスクリプトは成功体験を重視しよう

開発環境を整えた直後は、難しいことをしようとせず、確実に動くシンプルなVBAを書くことが重要です。

「自分で書いたマクロが動いた」という体験が、Excel VBA学習の大きな原動力になります。

今回紹介したスクリプトは、どれもExcel VBAの基礎となる考え方が詰まっています。

まとめ

まとめ
まとめ

ここまで、Excel VBAの開発環境を整えたばかりの方に向けて、最初の一歩となる基本的なスクリプトの書き方を詳しく解説してきました。VBA(Visual Basic for Applications)は、一見すると難解なプログラミング言語のように感じるかもしれませんが、その本質は「Excelへの指示書」を作成することにあります。最初は「MsgBox」で画面に文字を出す、あるいは「Range」を使って特定のセルに値を入力するといった、視覚的に変化がわかりやすいものから手を付けるのが継続のコツです。

VBA初心者が効率よく上達するためのポイント

プログラミングの学習において、最も重要なのは「暗記」ではなく「構造の理解」と「反復」です。今回紹介したように、全てのプログラムは Sub で始まり End Sub で終わるという型があります。この中に、どのような命令(メソッド)を、どのような対象(オブジェクト)に対して実行するかを記述していくのが基本スタイルです。

また、実務で役立てるためには、単にコードを書くだけでなく、実際にどのようなシーンで自動化が必要かを常に意識しておくことも大切です。例えば、毎日の定型作業であるデータの転記や、特定の条件に基づいた書式設定の変更などは、VBAが最も得意とする分野です。

さらにステップアップするためのサンプルコード

基礎を理解したところで、もう少しだけ実践的なコードに挑戦してみましょう。複数のセルに対して一括で処理を行ったり、計算結果を表示したりするコードです。これらを活用することで、手作業で行っていたルーチンワークが劇的に短縮されます。

セルの値を足し算して結果を表示する

例えば、セルB2とB3に入力されている数値を合計し、その結果をメッセージボックスで表示するコードは以下のようになります。


Sub SimpleCalculation()
    Dim val1 As Integer
    Dim val2 As Integer
    Dim total As Integer
    
    'セルの値を変数に代入
    val1 = Range("B2").Value
    val2 = Range("B3").Value
    
    '計算を行う
    total = val1 + val2
    
    '結果を表示
    MsgBox "合計金額は " & total & " 円です。"
End Sub

実行結果は以下のようになります。数値のやり取りをVBAで行う感覚を掴んでください。


合計金額は 3000 円です。

Office Scripts(TypeScript)との違いについて

最近では、Web版のExcelなどで利用できる「Office Scripts」という技術も注目されています。VBAがデスクトップ版Excelの自動化に特化しているのに対し、Office Scriptsはクラウド環境での自動化に適しています。文法はJavaScriptやTypeScriptベースですが、基本的な考え方は似ています。将来的にクラウド自動化も見据えるなら、少しずつ触れておくと良いでしょう。

参考までに、Office ScriptsでA1セルに文字を入力するコードは以下の通りです。


function main(workbook: ExcelScript.Workbook) {
  let sheet = workbook.getActiveWorksheet();
  sheet.getRange("A1").setValue("Office Scriptsで入力");
}

このように、VBAを学ぶことは他の言語やツールを学ぶ際の強力な土台となります。エラーが出ても慌てず、デバッグ(修正)を繰り返すことで、確実にスキルは身につきます。まずは今回紹介した小さな成功体験を積み重ねて、自分専用の便利なツールを作ってみてください。業務効率化への道は、この一行のコードから始まります。

先生と生徒の振り返り会話

生徒

「先生、ありがとうございました!メッセージボックスが出たときは、なんだかパソコンを魔法で動かしているみたいでワクワクしました。」

先生

「そのワクワク感が一番大切ですよ。プログラムが自分の書いた通りに動く感覚は、一度味わうと病みつきになりますよね。」

生徒

「はい!でも、変数とかRangeとか、少し聞き慣れない言葉も出てきたので、そこはしっかり復習して覚えたいと思います。特に『Dim』って何のおまじないだろうって思ってました。」

先生

「良い質問ですね。Dimは『Dimension(次元)』の略で、メモリの中にデータを置くためのスペースを確保するという意味なんです。最初は深く考えすぎず、『これから箱を使いますよ』という宣言だと捉えておけば大丈夫ですよ。」

生徒

「なるほど、箱の準備なんですね。まずはセルに文字を入れたり、色を変えたりすることから試して、少しずつ職場のエクセルファイルを自動化してみたいです。」

先生

「素晴らしい目標です!まずは小さな一歩から。失敗してもエクセルが壊れるわけではありませんから、どんどん実験して、VBAを自分の味方にしていきましょうね。応援しています!」

生徒

「ありがとうございます!明日からも楽しみながらコードを書いてみます!」

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法
New2
Office Scripts
Office Scripts普及の歴史とMicrosoftの方向性!Excel自動化が進化してきた流れをやさしく解説
New3
Excel VBA
Excel VBA関数を用途別に作成!計算・文字列処理の基本を初心者向けに解説
New4
Office Scripts
Office Scriptsで条件付き書式を自動化!数値変化に応じてExcelの書式を自動更新する方法
人気記事
No.1
Java&Spring記事人気No1
Excel VBA
Excelマクロのセキュリティ設定の基本!安全に実行するための信頼センター設定まとめ
No.2
Java&Spring記事人気No2
Office Scripts
Office Scriptsでできること・できないことを完全整理!Excel自動化の基本と限界をやさしく解説
No.3
Java&Spring記事人気No3
Excel VBA
Excel VBAとOffice Scriptsの違いを比較!初心者でもわかる学ぶべきスキル
No.4
Java&Spring記事人気No4
Excel VBA
目的別にモジュールを分割する方法!処理単位で整理して見やすくするテクニック
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBA基本文法の総まとめ!初心者が必ず押さえるべき20の基礎ポイント完全ガイド
No.6
Java&Spring記事人気No6
Office Scripts
Office Scriptsで条件付き書式を自動化!Excel自動化初心者向けスクリプト操作の基本
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAの開発環境を最速で整える!VBEの開き方から基本操作まで完全ガイド
No.8
Java&Spring記事人気No8
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法