
ゼロから始めるExcel VBA!簡単コード例
Excelの作業を効率化したいけれど、VBAって難しそう…そう思っていませんか?
VBA(Visual Basic for Applications)は、Excelの操作を自動化できる便利なツールですが、基本を押さえれば意外と簡単に使いこなせるようになります。
この記事では、初心者の方にもわかりやすいように専門用語を丁寧に説明しながら、VBAの基本ルールとよく使うコマンドを解説します。
まずは小さなコードを書いて実行するところから始めてみましょう!
✔︎ 1. VBAとは?
VBA(Visual Basic for Applications)は、Excelや他のMicrosoft Officeアプリケーションで使える「プログラミング言語」の一種です。
Excelを普段手作業で使っている人でも、VBAを活用すれば次のような作業を簡単に自動化できます。
データ入力や集計の自動化
グラフ作成やレポート生成
大量のファイルやデータを一括操作
VBAは、Excel内に標準で搭載されており、すぐに使い始めることができます。
VBAについてはこちらの記事もおすすめ☆
✔︎ 2. 初めてコードを書く前に押さえておきたい基本ルール
プログラムを書くには、いくつかのルールを守る必要があります。
これらを最初に理解しておくと、エラーを減らしながら効率よく学べます。
◆ (1) 「Option Explicit」を使おう
Option Explicitとは、コードのミスを防ぐための「ルールスイッチ」です。
コードの先頭にこれを書いておくと、変数(データを一時的に保存する箱)を必ず宣言しなければならなくなります。
これにより、タイプミスや記述漏れによるエラーを防げます。
Option Explicit ' ミス防止のルールを有効化
Dim total As Integer ' 変数「total」を宣言(数字を入れる箱)
total = 100 ' 箱に数字「100」を代入
◆ (2) コメントをつけてコードを分かりやすくする
プログラムを書くとき、後から見返しても内容が理解できるよう、コードの横や上に説明を入れることをおすすめします。
説明は「コメント」と呼ばれ、コードの前に'(シングルクォーテーション)をつけて書きます。
コメントは実行時に無視されるので安心です。
' このコードはセルA1に「こんにちは」と入力します
Range("A1").Value = "こんにちは"
◆ (3) インデントを使って整理しよう
インデントとは、コードの行を少し右にずらして見やすくする方法です。
特に条件分岐や繰り返し処理では、どこからどこまでがその範囲なのかが一目で分かるようになります。
If True Then
MsgBox "条件が正しいです" ' 条件が正しいときの処理
Else
MsgBox "条件が間違っています" ' 条件が間違っているときの処理
End If
◆ (4) 変数は分かりやすい名前をつけよう
変数とは、データを一時的に保存するための「箱」です。
この箱には、数字や文字などを保存できます。
変数名を意味のある名前にすると、コードが読みやすくなります。
【悪い例】
Dim a As Integer
Dim b As Integer
【良い例】
Dim totalSales As Double ' 総売上
Dim userName As String ' ユーザーの名前
◆ (5) ワークシートを操作する方法を覚えよう
特定のワークシートやセルを操作する方法を覚えておくと便利です。
' ワークシート「Sheet1」に切り替え
Sheets("Sheet1").Select
' セルA1に値を入力
Sheets("Sheet1").Range("A1").Value = "こんにちは"
✔︎ 3. Excel VBAでよく使われるコマンド集
◆ (1) MsgBox:メッセージを表示する
簡単なメッセージを画面に表示するコマンドです。
MsgBox "こんにちは!"
◆ (2) InputBox:データを入力してもらう
ユーザーに入力を促す際に使います。
Dim userInput As String
userInput = InputBox("名前を入力してください")
MsgBox "あなたの名前は " & userInput & " です"
◆ (3) 配列:複数のデータを扱う
配列を使うと、一括でデータを管理できます。
Sub ArrayExample()
Dim days(6) As String
days(0) = "日曜日"
days(1) = "月曜日"
days(2) = "火曜日"
days(3) = "水曜日"
days(4) = "木曜日"
days(5) = "金曜日"
days(6) = "土曜日"
Dim i As Integer
For i = 0 To 6
MsgBox days(i)
Next i
End Sub
◆ (4) ユーザーフォーム:データ入力用のフォームを作る
フォームを使って、より便利なデータ入力が可能です。
Sub UserFormExample()
Dim userName As String
userName = InputBox("名前を入力してください")
MsgBox "こんにちは、" & userName & "さん"
End Sub
◆ (5) 日付と時間の操作
現在の日付や時間を取得する際に使います。
Sub DateTimeExample()
MsgBox "今日の日付は " & Date
MsgBox "現在の時刻は " & Time
End Sub
✔︎ 4. 実際に書いてみよう!簡単なサンプルコード
以下のサンプルコードを試してみましょう。
メッセージボックスに「こんにちは!」と表示されます。
Sub SayHello()
MsgBox "こんにちは!"
End Sub
✔︎ 5. 効率よくVBAを学ぶポイント
◆ 1. まずは小さなコードから始める
最初は短いコードを書いて動かしてみることが重要です。
◆ 2. エラーを恐れない
エラーは学びのチャンスです。
エラーメッセージを読んで原因を探りましょう。
◆ 3. よく使うコマンドを繰り返し練習する
この記事で紹介したコマンドを実際に書いてみて、覚えていきましょう。
✔︎ まとめ
VBAを使いこなすことで、Excelでの作業が圧倒的に効率化されます。
最初は少し難しく感じるかもしれませんが、この記事を参考に、小さな一歩から始めてみてください!
あなたのExcel作業が、もっと楽で楽しいものになることを願っています。