- めんどうな作業を減らしたり、業務効率アップのためマクロに挑戦したい
- マクロを作ってみたいけど、なんだか難しそう
- まずは簡単なマクロの作り方から教えてほしい
こんなお悩みをお持ちですか?
改善や成長のため、一歩踏み出されたことをすばらしく思います。
この記事では、そんな素敵な皆様に寄り添い、実現に導きます。
【本記事を読んでわかること】
- マクロの始め方がわかる
- 簡単なマクロの作り方を知れる
- マクロを作るためのVBAを学べる
エクセル初心者でも安心して読んでください。
VBAマクロ歴3年の私が、できるだけわかりやすく解説いたします。
初心者にやさしいエクセルマクロの作り方
では早速、マクロの作り方を解説いたします。
手順は下記の5つです。
- 事前準備(初めてマクロを作る場合のみ)
- 実行内容の再確認
- VBAコードを書く
- 実行テスト
- マクロの保存
まずは事前準備から見ていきましょう。
事前準備(初めてマクロを作る場合のみ)
やることは1つで、とても簡単です。
エクセルを開いて、開発タブ(開発メニュー)があるかの確認をしましょう。
これが無いと、マクロを作成することができません。
開発タブの確認

開発タブ(開発メニュー)がある場合は、次の「実行内容の再確認」へ進んでください。
マクロを始めて作る場合は、開発タブ(開発メニュー)が無いことが多いです。
ここからは、開発タブ(開発メニュー)の出し方を解説いたします。
開発タブの出し方
1.「ファイル」メニューをクリックします。

ソフトの種類やバージョンによって、メニューの位置や名前が異なる場合があります。
2.下の方にある「オプション」をクリックします。

3.「リボンのユーザー設定」をクリックします。

4.「開発」にチェックを入れ、「OK」をクリックして完了です。

メニューを確認してみましょう。
開発タブが表示されていたら成功です。

これでいつでもマクロを作ることができます。
すぐにマクロを作り始めてもいいのですが、ちょっと待ってください。
頭の中を整理するために、実行内容の再確認を行いましょう。
実行内容の再確認
やることは簡単です。
「マクロで行いたいことを文章にする」だけです。
ちょっとめんどうに思うかもしれませんが、これをやらないと処理漏れなどが出てきて作り直すことになります。
必ずやりましょう。
今回は、下図のようなマクロを作る場合の例です。

これを文章にすると、
【「A1」セルに「Utatane」と書き込む】
となります。
次項で使いますので、消さないようにしてくださいね。
それではお待たせいたしました。実際にコードを書いていきましょう。
VBAコードを書く
まずはVBAコードの「VBA」って何?と思うかもしれません。
VBA(Visual Basic for Applications)はマクロを動かすためのプログラミング言語です。
プログラミング言語とは、機械(パソコンやエクセルなど)が理解できる言語のことです。
日常、私たちは日本語を話したり、書いたり聞いたりして生活していますが、機械には日本語が通じません。
その代わりにプログラミング言語であるVBAで機械に指示を出す必要があるのです。
「なんだか難しそう…」と思うかもしれませんが、簡単なものから少しずつ学んでいけば理解できます。
時短のために頑張りましょう。
では、VBAコードを書く場所をお教えします。
「開発」タブの「Visual Basic」をクリックしてください。
(開発タブが無い場合は、「事前準備」を参考に開発タブを表示させましょう)

別の画面に切り替わりました。
(「Alt」キーを押しながら「F11」キーを押すことでも同じ結果が得られます。)

エクセルに戻りたい場合は、右上の「×」で閉じるか、
「ファイル」メニューの「終了してMicrosoft Excelに戻る」をクリックしてください。

まだこの状態ではコードを書くことができません。
「モジュール」という、コードを書くためのノートのようなものを追加します。
VBA Project(ファイル名)を右クリック→挿入→標準モジュールをクリックします。

中央にコードが書ける画面が現れました。

では実際にコードを書いてみましょう。
ひとまず、何も考えずに下記コードを書いてください。
Sub テスト
「テスト」はこれから作るマクロの名前(タイトル)です。
何でも構いませんが、わかりやすい名前にしましょう。
今回は「テスト」で大丈夫です。
「テスト」の前の「Sub」は、「テスト」が名前(タイトル)であることを指します。
「テストという名前のマクロがこれから始まりますよ」という意味だと思ってください。
【注意点】
「Sub」と「テスト」の間のスペースは、「半角スペース」にしてください。
また、「Sub」など、単語の先頭は大文字でお願いします。
ただ、テスト実行時に自動で直る場合が多いので、そこまで気にしなくても大丈夫です。
Enterキーを押すと、コードが下記のように変わったかと思います。
Sub テスト()
End Sub
3行目の「End Sub」はマクロの終了を意味します。
「ここでテストという名前のマクロが終わり」ということです。
このように、ひとまとまりの処理を「プロシージャ」と言います。
今回はわかりやすく「プロシージャ = 1つのマクロ」という解釈でOKです。
では、空いた2行目に下記のコードを書いてください。
Range(“A1”).Value = “Utatane”
「Range」は位置の指定、「Value」は値を書き込むという意味合いです。
なので左辺の「Range(“A1”).Value」は、「A1セルに値を書き込む」という意味になります。
値とは何か?それが、右辺の「”Utatane”」です。
したがってこの1行で、【「A1」セルに「Utatane」と書き込む】という指示になります。
「実行内容の再確認」で書いた文章と同じになりましたね。構想と一致したということです。
【注意点】
セル名や書き込む値は「”(ダブルクォーテーション)」で囲ってください。
「’(シングルクォーテーション)」だとエラーが発生します。

念のため、完成形のコードをお見せします。
Sub テスト()
Range(“A1”).Value = “Utatane”
End Sub
マクロが完成したところで、実行テストを行いましょう。
実行テスト
作成したマクロが思い通りに動くかをテストしてみましょう。
その前に、大事な注意点をお伝えします。
マクロを実行すると、元には戻せません。
マクロでセルのデータを変更したり、削除したりすることができますが、「戻るボタン」や「ctrl+z」キーを押して元の状態に戻すことはできないということです。
たとえば、A1セルに書かれた「あ」という文字をマクロで削除し、やっぱり元に戻したいと思って「戻るボタン」を押しても「あ」は復元されません。
元の状態に戻したい場合は、保存せずに閉じるしかありません。
うっかり上書き保存してしまったら、二度と元には戻らないので注意してください。
では、実行方法です。
画面上部にある再生ボタンのようなアイコンをクリックします。

エラーが出なければおおむね成功です。
エラーが出た場合は、「うまく動作しない場合の対処法」を参考にコードを修正しましょう。
「ファイル」→「終了してMicrosoft Excelに戻る」をクリックして、エクセルに戻ってください。
A1セルに「Utatane」と書き込みされていれば成功です。

何も書き込みされていない場合は、コードに問題がある場合が多いです。
「うまく動作しない場合の対処法」を参考に再度コードを確認してみてください。
では、せっかく作成したマクロを失わないために、保存を行いましょう。
マクロの保存
エクセル画面の「ファイル」をクリックします。

「名前をつけて保存」をクリックします。

「参照」をクリックし、保存する場所を選びます(デスクトップがおすすめ)


マクロを保存するためには、ファイルの種類を変更する必要があります。
「ファイルの種類」右の「Excelブック」をクリック
(既に「Excelマクロ有効ブック」になっている場合はそのままでOKです)

一覧の中から「Excelマクロ有効ブック」を選んでください。

「保存」をクリックすると保存完了です。
エラーが出て保存できない場合は、保存先をデスクトップにするとうまくいく場合があります。

保存したマクロ有効ブック(xlsm)を開いてみましょう。

警告が出ている場合は、「コンテンツの有効化」をクリックしてください。

エラーが解除されました。

この警告表示については下記記事で解説しております。
気になる方はご覧ください。
ではVBAが保存できているかを見てみましょう。
初めて作成した時と同様に、「開発」→「Visual Basic」をクリックします。

作成したマクロが表示されました。
保存が成功しています。
ひとまずこれでマクロの作成は完了です。お疲れさまでした。
うまく動作しない場合は、次項を参考にコードを修正してみてください。
うまく動作しない場合の対処法
初めて挑戦する物事は、うまくいかなくてあたりまえです。
思い通りにならなかったり、エラーが出たりしても「当然」と思ってがんばりましょう。
よくあるエラーや問題をまとめましたのでご参考ください。
エラーが発生する
セル名や値を囲う「”(ダブルクォーテーション)」や「()」など、2つで1セットの記号が1つしかない場合、エラーが発生します。
Sub テスト()
Range(“A1”).Value = Utatane” '「"」が片方しかない
End Sub

Sub テスト()
Range(“A1”.Value = "Utatane” '「閉じ)」が無い
End Sub

また、「”(ダブルクォーテーション)」ではなく、「’(シングルクォーテーション)」で囲ってしまった場合もエラーが発生しますのでご注意ください。
Sub テスト()
Range('A1').Value = 'Utatane' '「'」で囲ってしまっている
End Sub

動作しない
値(今回は「Utatane」)をダブルクォーテーションで囲っていない場合、値と認識されずにスルーされてしまうことがあります。
Sub テスト()
Range("A1").Value = Utatane '「"」で囲っていない
End Sub
保存できない
マクロを含んだエクセルファイルは、保存できない場所があったりします。
デスクトップなら保存できますので、ひとまずデスクトップに保存してから任意のフォルダに移動させましょう。
さらにマクロを活用するには
ボタンを押すことでマクロを実行させることも可能です。
いちいち「コード画面に移行して実行」という動作を省けるため、さらなる時短が手に入ります。
下記記事で詳しく解説しておりますので、次のステップとしてお試しください。
最後に
マクロの作り方や注意点などを解説いたしました。
マクロを使えば、エクセル作業が驚くほど効率的になります!
空いた時間で勉強したり、早く帰ってゆっくりしたりできますよ。
当ブログでは、VBAマクロやPythonなど、時間を生み出すプログラミング術を公開しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!