Excel VBAの始め方|開発タブの出し方から、仕事で使えるコードまで
※写真はイメージです
始め方はこれだけ
VBAは、Excelの作業を自動にするための言葉(プログラム)です。「開発」タブを出して、Alt+F11でVBAの画面を開き、「挿入」→「標準モジュール」に書いて、F5で動かします。保存は「Excelマクロ有効ブック(.xlsm)」で。最初は「マクロの記録」で操作を記録して、できたコードを読むのがいちばんの近道です。
VBAとマクロのちがい
マクロは「作業を自動でやってくれる仕組み」のこと、VBAはそのマクロを書くための言葉です。「マクロの記録」で作ったマクロも、中身はVBAで書かれています。要は、マクロを自分で書いたり直したりしたくなったらVBA、って感じです。
準備:「開発」タブを出す
- 「ファイル」→「オプション」
- 「リボンのユーザー設定」を開く
- 右の一覧の「開発」にチェックを入れて「OK」リボンに「開発」タブが出ます。1回やれば、次からもずっと出ています。
はじめてのVBA(3分)
- Alt+F11 でVBAの画面(VBE)を開く「開発」→「Visual Basic」でも開きます。
- 「挿入」→「標準モジュール」白い入力欄が出ます。
- 下のコードを書く(貼り付けてもOK)
- カーソルをコードの中に置いて F5Excelに戻ると、A1に今日の日付が入っています。
Sub 今日の日付を入れる()
Range("A1").Value = Date
End Sub仕事で使える例:条件に合う行に色を付ける
Sub 売上が100以上の行に色を付ける()
Dim i As Long
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 2).Value >= 100 Then
Range(Cells(i, 1), Cells(i, 2)).Interior.Color = RGB(255, 242, 204)
End If
Next i
End Sub| 書いてあること | 意味 |
|---|---|
| Sub 名前() 〜 End Sub | ここからここまでが1つのマクロ |
| Dim i As Long | 「i」という数字の入れ物を用意する |
| For i = 2 To 最後の行 〜 Next i | 2行目から最後の行まで、1行ずつくり返す |
| Cells(Rows.Count, 1).End(xlUp).Row | A列のいちばん下の行番号(Ctrl+↑と同じ) |
| If 条件 Then 〜 End If | 条件に合うときだけやる |
保存と開くときの注意
- ふつうの .xlsx で保存するとVBAは消えます。「名前を付けて保存」→「Excelマクロ有効ブック(*.xlsm)」で保存します。
- メールやネットからもらった .xlsm は、マクロが止められた状態で開きます。中身を信用できるファイルだけ、ファイルを右クリック →「プロパティ」→「許可する」にチェックして開き直します。
- 動かしたマクロは「元に戻す(Ctrl+Z)」がききません。試す前にファイルのコピーを取っておくのがおすすめです。
VBAの覚え方
いきなり本を1冊読むより、「マクロの記録」→ できたコードを読む → 1か所だけ変えてみる、をくり返すほうが早く身につきます。わからない行は、そのままコピーしてネットで検索するか、生成AIに「このVBAを1行ずつ説明して」と聞けば教えてくれます。
うまくいかないとき
1「このプロジェクトのマクロは無効に設定されています」と出る
セキュリティの設定でマクロが止められています。
直し方「ファイル」→「オプション」→「トラスト センター」→「トラスト センターの設定」→「マクロの設定」で確かめます。会社のパソコンは情報システムの担当の設定に従います。
2「コンパイル エラー」と出る
綴りのまちがい、全角の文字・スペース、End If や Next の書き忘れです。
直し方黄色や青で示された行を確かめます。コードの記号やスペースは半角です。
3保存したらマクロが消えた
.xlsx で保存しています。
直し方.xlsm で保存し直します。
よくある質問
VBAとマクロのちがいは?
マクロは作業を自動にする仕組み、VBAはそのマクロを書くための言葉です。
VBAの画面を開くには?
Alt+F11を押すか、「開発」タブの「Visual Basic」を押します。
VBAはMacやWeb版でも使えますか?
Mac版Excelでは使えますが、Windows専用の命令は動かないものがあります。Web版とスマホ・iPadのアプリでは動きません。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報