~ 即効最速!VBAマクロの作り方講座 ~
『エクセルマクロ成功法』
公式オフィシャル教材
- 1 -
はじめに
本書は、メルマガ講座「Go!Go! エクセルマクロをはじめよう!」(WATエクセルカスタマイズセンター発行)の内容を 基に作成された初心者向けの入門テキストです。はじめてプログラム作成に取り組もうとしている方を対象に書かれていま す。初心者の方にでも簡単にVBAマクロプログラムを組むことができる方法やそのノウハウを実習形式にて学習し、その 実力を付けていくことの出来る内容となっています。 「Ⅰ.基本講座」では、1回の実習時間を10分~15分に想定したボリュームに分けた Lesson 形式の学習内容となって います。忙しくて中々勉強する時間が取れないという方でも、少しの時間を見つけて進めていけるような構成です。 「Ⅱ.応用例」では、より実践的に活用できる具体的なマクロ作りに挑戦していきます。 「Ⅲ.エクセルマクロ成功の鉄則9ヶ条」では、これまでに筆者が数百人の新人プログラマーを育ててきた経験に基づく 「初心者がプログラミングで挫折しないで成長していく為のポイント」と、長年、メルマガ講座の読者とのやり取りをする 中で得てきた「エクセルのマクロを組む」という作業を上達させる上で皆さんに特にぜひとも実践していってほしい事柄に ついてをまとめています。 なお、各レッスンでは、書いてある手順通りに何も考えずに進めても自然にマクロが完成するような内容になっています が、それでは勉強になりませんので、内容を噛みしめつつ(応用力を働かせて後で自分なりにアレンジすることを考えなが ら・・・)ゆっくり進めていってください。(1回のレッスンは、どんなにゆっくりやっても15分もあれば終わる内容と なっています。) また、当講座のレッスンは「必ず実行して終わる」を基本とした内容に構成されています。それは言い換えると、各レッ スンを通じてマクロが実行できる環境ができあがるということです。他の講座ではそのように学んだ事をすぐに試せるよう なマクロ実行環境というものはありません。「実行して試す」ということができないと、その場ではいくら理解ができたとしても決して身に付きはしません。それは、いくら英語を学んでも話せない英会話と一緒です。 英語を学んで「外国人と話す」ということが、マクロの場合では「実行してパソコンと話す」ということになります。 この教材は、教室に(各レッスンに)外国人講師がいるのと同じ環境があなたのパソコン上に作り出せる構成となっていま す。他の教材には無いこのような優れた講座を、ぜひ有効にご活用いただければ幸いです。 最後に、この度 Excel2007~2013 バージョンに完全対応した版を出すにまでのロングセラーに至りましたこと、長きに渡 る本書の制作並びに改定・改善に当たっては、数かぞえきれぬほど多くのメルマガ講座読者の皆さんからご意見ご鞭撻をい ただき、それなくしては本講座の完成はありませんでした。ご協力くださったすべての皆さんに心より感謝申し上げます。 平成 25 年 9 月吉日(改) 著者
- 3 - <本誌の構成> 本誌の本文は次ぎの構成になっています。 ――――――――――――――――――――――――+ この部分は操作手順を記載した部分です。 ――――――――――――――――――――――――+ ++++++++++++++++++++++++― この部分はマクロプログラムを記載した部分です。 ++++++++++++++++++++++++― その他の部分は解説文です。 また、右側には説明に際しての図表やプログラム、 補足説明などを掲載しています。図表の番号(青の○) は本文中の番号と対応しています。
※本書をご利用の前に(必ずご覧ください!!) ┏━━▼ Lesson 0 --- マクロの利用に先立って--- ┃ ┃ テーマ:まずは、マクロの利用環境を整えよう! ┃ 「開発タブ」の表示方法について ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━▲ Excel でマクロを利用する際には、まず「開発タブ」の表示を以下の手順にて行います。 なお、本テキストは Excel2007/2010/2013 の各バージョンに対応して書かれていますが、各バージョンによって設定方法に 多少の違いがありますので、以下の設定はご自分がお使いのバージョンの部分を見て行ってください。 お使いのバージョンが分からない場合、それを調べる一番簡単な方法は、Excel を起動して画面の左上の部分を見て ください。(下記のような見た目上の違いがありますので、すぐに見分けがつくと思います。) なお、本書は、Excel2007~Excel2013 の 各バージョンに対応しています。 上記以外の(Excel2003 以前の)バージョ ン Excel2003 等をご利用の方は、下記の 弊社ホームページをご参照ください。 → http://www.wat3d.com/gogo/2003/
- 5 - 【 Excel2007 】の場合 1) 開発タブ(マクロ関連のボタン)の表示方法 ――――――――――――――――――――――――――――+ 1.Excel2007 を起動します。 2.Office ボタン① を右クリックし、表示されたメニューの一番上の [クイックアクセスツールバーのカスタマイズ(C)...]をクリック します。 3.ここで表示された[Excel のオプション]画面の左側の一番上の [基本設定]② をクリックします。 4.すると、右側に[Excel の使用に関する基本オプション]が表示され ますので、その中の[開発タブをリボンに表示する(D)]の項目にチ ェックを入れ、画面下方の[OK]ボタンをクリックして画面を閉じま す。 ――――――――――――――――――――――――――――+ この設定で、タブメニューに[開発]というタブが表示されたと思いま すので、これでマクロを使うためのメニュー設定は完了です。 この[開発]タブをクリックすると、下のリボンの[コード]というブロ ックの中にマクロ関連のボタン③ が表示されます。 本書では以降、この[開発]タブの[コード]ブロック内にある各ボタン を使用する方法にて操作説明を行っていきますので、学習の際には、 必ずこの[開発]タブの表示設定をしたままでご利用ください。 ② ③ 開発タブ コード
【 Excel2010 】または【 Excel2013 】の場合 1) まずは、開発タブ(マクロ関連のボタン)を表示させます。 ――――――――――――――――――――――――――――+ 1.Excel2010 または 2013 を起動します。(※2013 の場合はスタ ート画面のテンプレートから空白のブック等を選んで起動し てください。) 2.「ファイル」メニューをクリックし、表示されたメニューの 下から二番目の「オプション」① をクリック します。 3.ここで表示された[Excel のオプション]画面の左側のメニュ ーから [リボンのユーザー設定] ② をクリックします。 4.表示されるリストの右側の方[リボンのユーザー設定(B)]下 方の一覧の中の[開発] ③ の項目にチェックを入れ、画面下方 の[OK]ボタンをクリックして画面を閉じます。 ――――――――――――――――――――――――――――+ ①
- 7 - この設定で、タブメニューに[開発]というタブが表示されたと思いま すので、これでマクロを使うためのメニュー設定は完了です。 この[開発]タブをクリックすると、下のリボンの[コード]というブロ ックの中にマクロ関連のボタン ④ が表示されます。 本書では以降、この[開発]タブの[コード]ブロック内にある各ボタン を使用する方法にて操作説明を行っていきますので、学習の際には、 必ずこの[開発]タブの表示設定をしたままでご利用ください。 開発タブ コード ② ③ ④
Ⅰ.基礎講座 ┏━━▼ Lesson 1 --- 「マクロの記録機能」を使ってみよう!--- ┃ ┃ テーマ:マクロの記録機能を使って、 ┃ 「こんにちは、みなさん!」マクロを作る ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━▲ 1) まずはエクセルを起動させてから、 ――――――――――――――――――――――――――――+ 1.[開発]タブの[コード]で [マクロの記録]① をクリック → 「マク ロの記録」画面② が出るので、そのまま[OK]をクリック。 2.次に、 B2 のセルに「こんにちは、みなさん!」と打ってみてください。③ 3.打ち終わったら一度[Enter]キーを押してから、 [開発]タブの[コード]で [■記録終了] をクリック。 ――――――――――――――――――――――――――――+ たったこれだけで、「こんにちは、みなさん!」マクロのでき上がり です。 ③ ① ②
- 9 - 2) では、さっそく実行してみましょう。 ――――――――――――――――――――――――――――+ 1.まず、下のシートタブからまだ何も書かかれていない空のシート [Sheet2] ④ を開いておいてください。 (※Excel2013 をお使い の方は[新しいシート] ㊉ボタン ④’を押して[Sheet2]を新た に作成してください。) 2.そして、[開発]タブの[コード]で [マクロ] をクリック⑤ → 「マクロ」画面⑥ が出るのでそのまま[実行]をクリック。 ――――――――――――――――――――――――――――+ Sheet2 の B2 の位置に「こんにちは、みなさん!」と 自動的に書き込みされたことと思います。 3) ちょっと、マクロプログラムの中身をのぞいてみましょう。 ――――――――――――――――――――――――――――+ 1.まず、[開発]タブの[コード]で [Visual Basic]⑦ をクリック すると、見慣れた Excel の画面とは別にもう一つ見慣れない画面が 表示されたと思います。 2.この画面の左上半分の[+標準モジュール]という所の+の部分を クリックすると、そのすぐ下に[Module1]と表示されるので、 その[Module1]⑧ をダブルクリックします。 ――――――――――――――――――――――――――――+ ④ ⑤ ⑦ ⑥ ④ ‘
++++++++++++++++++++++++++++― Sub Macro1() ' ' Macro1 Macro ' Range("B2").Select ActiveCell.FormulaR1C1 = "こんにちは、みなさん!" Range("B3").Select End Sub ++++++++++++++++++++++++++++― 右側にこんなものが表示されたはずですが、これが今作った 「こんにちは、みなさん!」マクロのプログラムの正体です。 ※今、このプログラムの意味を知る必要は全くありません! 4) では次に、このプログラムをちょっとだけいじってみましょう。 ――――――――――――――――――――――――――――+ 1.プログラムの [ActiveCell.FormulaR1C1 = "こんにちは、みなさん!"] と書いてある行を [ActiveCell.FormulaR1C1 = "あんにょんはせよ、みなさん!"] と変えてみてください。 (「こんにちは」を「あんにょんはせよ」に変えるだけです。) ――――――――――――――――――――――――――――+ ⑧
- 11 - これで、韓国版?マクロ「あんにょんはせよ、みなさん!」のでき上 がりです。 5) 実行してみましょう。 ――――――――――――――――――――――――――――+ 1.タスクバー⑨ で Excel の画面を表示して、2)の時と全く同じ以下 の操作をしてください。(シートは [Sheet2] のままで OK です) [開発]タブの[コード]で [マクロ] をクリック → 「マクロ」画面 ⑩ が出るのでそのまま[実行]をクリック。 ――――――――――――――――――――――――――――+ みなさん、韓国版「あんにょんはせよ、みなさん!」マクロはできま したでしょうか?⑪ ⑨ ⑩ ⑪
6) 今日の最後にもう一つ、またプログラムをちょっといじってみます。 ――――――――――――――――――――――――――――+ 1. [開発]タブの[コード]で [Visual Basic] ⑫ をクリックして 先ほどのプログラムが表示されている画面を表示します。 プログラムの [Range("B2").Select] と書いてある行を [Range("E10").Select] と変えてみてください。( "B2" を "E10" に変えるだけです。) 2.再び Excel の画面を表示して、(シートは[Sheet2]のままで OK です) [開発]タブの[コード]で [マクロ] をクリック → 「マクロ」画面 が出るのでそのまま[実行]をクリック。 ――――――――――――――――――――――――――――+ 今度はシートの中程、E10 のセルに「あんにょんはせよ、みなさん!」 と書き込まれたはずです。⑬ もうみなさん、お解かりですよね。 これで、ある位置(セル)に何かの文字を自動的に書かせるマクロプロ グラムが作れるようになりましたね! これが、マクロ作成のはじめの第一歩です。 それでは練習に、好きな位置に好きな文字を自動で書かせてみてくださ い。 ⑫ ⑬
- 13 -
付録.Excel2007 のセキュリティ設定方法
――――――――――――――――――――――――――――+ 1.まず、[セキュリティ センター]画面を以下の操作で呼び出します。 [開発]タブの[コード]で [マクロのセキュリティ] ① をクリック。 2.表示された[セキュリティ センター]画面 ② の左側のメニューの [マクロの設定]をクリックし、右側の[マクロの設定]の「信頼でき る場所にないドキュメントにマクロが含まれる場合:」の上から2番 目の「警告を表示してすべてのマクロを無効にする(D)」にチェック が入っていることを確認してください。(もし、違うところにチェッ クが入っている場合はこれに変更してください。) 3.次に、今度は左側のメニューの[信頼できる場所]③ をクリックし、 画面下方にある[新しい場所の追加(A)...]④ をクリックします。 4.そうすると、「Microsoft Office の信頼できる場所」という画面 が表示されたと思いますので、ここで適当なフォルダを参照設定 してから、[OK]ボタンを押してこの画面を閉じます。 注)このフォルダに置いたすべてのマクロファイルは問い合わせな く無条件に有効となりますので、安全の為、必ず自分で作ったマ クロを保存するための専用フォルダを作り、そのフォルダは安全 なマクロのファイルだけを置く場所として使うようにした上で、 上記の「信頼できる場所」として登録を行うようにしてください。 フォルダ例)C:\User\3tarou\Documents\my マクロ ――――――――――――――――――――――――――――+ ① ② ③ ④付録 2.Excel2003 とのマクロ操作上の相違点
【Excel2013/2010/2007 と Excel2003 以前の旧バージョンとのマクロ操作上の対比表】 1.マクロの記録の開始 2010 での操作: [開発]タブの[コード]で [マクロの記録] をクリック 2003 での操作: [ツール(T)] → [マクロ(M)] → [●新しいマクロの記録(R)...] 2.マクロの記録の終了 2010 での操作: [開発]タブの[コード]で [■記録終了] をクリック 2003 での操作: [ツール(T)] → [マクロ(M)] → [■記録終了(R)] 3.プログラムの画面 2010 での操作: [開発]タブの[コード]で [Visual Basic] をクリック(VBE)の表示 2003 での操作: [ツール(T)] → [マクロ(M)] → [Visual Basic Editor(V)]
4.マクロの実行 2010 での操作: [開発]タブの[コード]で [マクロ] をクリック 2003 での操作: [ツール(T)] → [マクロ(M)] → [マクロ(M)...] 【Excel2003 以前のバージョンでのマクロのセキュリティレベルの設定方法】 「マクロのセキュリティレベル」の設定方法は、ツールメニューの[ツール(T)] → [マクロ(M)] → [セキュリティ(S)...] →セキュリティ画面が出ま すので「セキュリティレベル」タグで「高」・「中」・「低」のどれかを選択して「OK」ボタンをクリックします。(この設定は、使っているパソコンで 立ち上げたエクセルファイル全てに共通します。)「低」を指定すると、無条件に(警告なしに)マクロ入りのファイルでも開け、もしかすると悪 意を持った人が作ったマクロが実行されてしまう恐れが生じます。「中」を指定すると、マクロ入りのエクセルファイルを開いたときにマクロを 有効にするか否かの確認メッセージが出ますので、出所不明なエクセルファイルの場合は、必ず「マクロを無効にする」を選んでから開い てください。セキュリティレベルを「高」に設定すると、自分で作った安全なマクロも実行できなくなってしまいますので、エクセルの起動時に 毎回確認メッセージを表示してくれるセキュリティレベル「中」に設定することをお薦めします。
- 15 - 【お願い】 本書に関するご意見・ご感想・ご要望・その他ございましたら、下記メールアドレスへご連絡ください。 メールアドレス [email protected]