IT特集
経営戦略レポート
海外支援
中小企業支援等レポート
技術の広場
あいち技術ナビ
あいち産業振興機構中小企業支援
海外駐在員便り
時代の目
特集(トピックス)
企業ルポ
翔 魅力ある愛知の中小企業
あいちの製品ProductsAppeal
経営革新に挑戦する中小企業成功事例集
創業企業に聞く
支援企業に聞く
お店訪問 繁盛の秘訣
科学技術は今
ホームページ奮闘記
スペース
スペース
経営相談Q&A
労務管理Q&A
資金調達Q&A
組織活性化Q&A
環境対策Q&A
省エネQ&A
経営革新Q&A
窓口相談Q&A
IT活用マニュアル
IT特集
どんどん使ってみようWindows Vista
IT管理者お助けマニュアル
ネットワークお助けマニュアル
セキュリティお助けマニュアル
お助けBOX
補助金助成金一覧
施策ガイド
「ネットあいち産業情報」更新をお知らせします!
  トップ > IT特集 > 仕事に役立つエクセルマクロ 第1回  〜マクロの基本と記録のコツ〜
仕事に役立つエクセルマクロ 第1回 
〜マクロの基本と記録のコツ〜
阿部 晋也 記事更新日.09.01.06
愛知工業大学 経営情報科学部 非常勤講師

システム開発・楽曲制作・教育研修・DVD制作
Orange-Piece(オレンジピース)

印刷用ページ
表計算ソフトでお馴染みのExcelですが、皆さんはどのようにお使いでしょうか。罫線やセルの結合を駆使して、ワープロソフトのように使用したり、四則演算や合計の関数(命令語)を組み込み、見積書や請求書のひな形として使用したりしている方もいると思います。
本連載では、Excelを使った作業の自動化について、ご紹介いたします。1回目では「マクロの基本と記録のコツ」と題し、そもそもExcelで作業を自動化するということはどういうことなのかという点をご紹介します。
本連載が業務フローの見直しに活用できれば、幸いです。
1.マクロとは
同じ作業を繰り返し行う必要があるときに「マクロ」を使用します。「マクロ」はWordやExcelなどのMicrosoft Officeアプリケーションに付属する機能です。最近では1〜2年に1回近く、新しいバージョンのWordやExcelがリリースされている状況ですが、機能の本質に関しては変わりありません。
今回はあるセミナーを例に、マクロ機能を使った操作手順の登録方法をご紹介します。たとえば、次のような表を見てください。

上表はあるセミナーの参加者一覧です。セミナーはA日程とB日程で実施され、それぞれ氏名と参加する日程に○印が記載されています。読者の皆様は、セミナーの出欠を管理する管理者になりきってください。たとえば、次のような業務が発生します。
・A日程だけの参加者のリストを作成する
・B日程だけの参加者のリストを作成する
・欠席者のリストを作成する
ほかにも考えられる業務があるかもしれません。
セミナーでは出欠者が締め切りまでに確定するのは稀なことで、イレギュラーに出席者が変更になったり、欠席になったりして、リストが更新されることがしばしばあります。もちろん、データベースのようなシステムができあがっている場合は別ですが、中・小規模の場合はExcelで済ませてしまうことが多いでしょう。

Excelのリストの修正を手作業で行うときには、細心の注意を払って、作業を行う必要があります。わたしは以前、某研修のコーディネータ補を務めて、参加者の管理をしておりましたが、その当時はパソコンの知識が全くなく、当然Excelも手作業で修正していました。すると、選択範囲を誤って、参加者がもれてしまったり、なかなかリストの編集がうまくいかず、担当者 に怒られてしまったりすることもしばしばありました。
同じような条件で表をまとめたり、修正したリストをきれいに編集して別の表にしたりする作業は、単調で定型的な業務です。このような繰り返し作業は、マクロを使う絶好のチャンスといえます。
2.後先のことを考えて記録する〜マクロの記録のコツ
今回は「A日程だけの参加者のリストを作成する」操作を登録してみたいと思います。




マクロ機能を使って、操作を登録する前にやっておくべきことがあります。それは、操作手順を確認しておくということです。やみくもに操作を登録しても、後で役に立たないマクロになってしまいますから、操作手順を事前にチェックしておき、何度も繰り返して使うことができる操作かどうか検討しておくことがマクロの記録のコツといえます。
●記録する前に操作を再確認しておく

記録するイメージは、テレビ番組の録画と同じような感覚です。ある画面で、[OK]ボタンをクリックすると、記録が開始され、後述する[記録停止]ボタンをクリックすると、記録が終了します。
「A日程だけの参加者のリストを作成する」操作のおおまかな操作手順を確認しておきましょう。

(1)リストの1行目のセルを選択する
(2)「データ/フィルタ/オートフィルタ」を選択する
(3)「A日程」の列から「○」を選択する
(4)データが含まれている表全体をコピーする
(5)「A日程」ワークシートに表全体を貼り付ける
(6)余分な列を削除する

これぐらいの操作であれば、簡単にできると思われるかもしれません。しかし、(1)〜(6)までの作業に対し、1クリックごとの操作があるとすると少なくとも6クリック以上の操作が必要になります。これがボタン一つの操作で済み、1クリックで完了するとなると、たいへん魅力的だと思いませんか。
1クリックの操作で完了するために、まだ考えておかなければいけない点があります。それについて、ご紹介しましょう。

●キーボードショートカットを覚えておく

Excelのマクロ機能では、ユーザーが行う操作のひとつひとつを正確に記録すると考えてください。単に「選択する」といった操作でも、思ったことと違うことがあります。たとえば、次のような表のデータをすべて選択することを思い浮かべてください。

読者の皆様はどのように選択しますか?
ア)セルB2からセルC6までマウスでドラッグする
イ)セルB2をクリックしてから、[Shift]キーを押しながら、[→]を1回、[↓]を4回押す。
ウ)セルB2をクリックして、[Ctrl]と[Shift]を押しながら、[End]キーを押す。

実は、どれも正解です。しかし、マクロとして操作を記録する上では(ウ)で操作する必要があります。なぜでしょうか。それは、選択肢の(ア)と(イ)、選択肢の(ウ)ではやっている操作が違うからです。

・操作A ア)イ)「セルB2〜セルC6を選択する」
・操作B ウ)「選択範囲をデータが入力されている範囲の右下隅のセルまで拡張する」

操作Aのように、範囲を固定してしまってはリストのデータが増えたときに対応できなくなってしまいます。これでは、操作を自動化しても、増えたデータの分をさらに追加する必要があり、自動化の意味がありません。
操作Bのように、Excelの特殊なショートカットキーを覚えておくことで、特定の特徴を持つセルを選択することができます。ほかにも次のようなショートカットキーがあります。
Ctrl + Space 選択範囲を列全体に拡張する
Shift + Space 選択範囲を行全体に拡張する
Ctrl + A ワークシート全体を選択する
Shift + Home 選択範囲を行の先頭まで拡張する
Ctrl + Shift + Home 選択範囲をワークシートの先頭のセルまで拡張する
Ctrl + Shift + 方向キー アクティブ セルと同じ行や列にあるデータが入力されているセルまで選択範囲を拡張する

メニューバーの「ヘルプ/Microsoft Excelヘルプ」から「ショートカット」と入力すると、調べることができます。

●再びマクロを実行することを考えておく

マクロを実行する回数は1回とは限りません。再び、マクロを実行するときにどのような動作をするのか、想像しておく必要があります。たとえば、A日程に参加するリストの人数が減ってしまったら、どうしょうか。

操作(5)では、リストの人数が減ってしまった場合、減った人数分のデータが残ってしまうことがあります。

したがって、これを考慮すると、あらかじめ「A日程」ワークシートの内容を削除しておくことが妥当です。このように、マクロを繰り返し実行することも考えて、前のデータを削除するという操作を入れておくような工夫が必要です。

●相対参照と絶対参照の違いを理解しておく

マクロの記録の方法には、「相対参照」と「絶対参照」があります。こちらは、記録するときに下のようなツールバーのボタンから選択することができます。

・相対参照:アクティブ セル(選択したセル)を基準にした動作になる
・絶対参照:何度実行しても同じセルの位置、同じセルの範囲になる 慣れないうちは“絶対参照”の状態で問題ありません(=“ボタンが押されていない”状態)。マクロの記録になれたら、相対参照ボタンをONにして、セルを選択した位置によって、実行される位置を変更できるように記録できるか試してみるといいでしょう。
3.マクロを実行するボタンを作成
ボタンにマクロで記録した操作を登録することで、1回のクリックで操作を済ませることができます。では、実際の作業の流れを確認しておきましょう。
(1)データを貼り付けるワークシートを挿入しておきます。
マクロの操作を簡単にするために、あらかじめA日程の会員を挿入するワークシートとB日程の会員を挿入する空のワークシートを作成しておきましょう。


(2)マクロを実行するきっかけとなる「ボタン」を配置します。ここで「フォーム」ツールバーを表示しましょう。「表示/ツールバー/フォーム」を選択します。


(3)「フォーム」ツールバーから「ボタン」を選択します。


(4)画面に+のカーソルが表示されます。右下にドラッグして、ボタンを描きます。


(5)すると、「マクロの記録」ダイアログが登場します。作業のあとで思い出しやすくするために、マクロに名前をつけておきます。ここでは「A日程参加者抽出」とします。入力できたら、[記録]ボタンをクリックします。


(6)画面が「マクロの記録」ダイアログに切り替わります。先ほど入力したマクロ名「A日程参加者抽出」になっていますね。ここで深呼吸しておきましょう。なぜなら、[OK]ボタンをクリックした後の操作はすべて残ってしまうため、正確に作業する必要があるからです。


(7)すると、画面に「記録終了」ツールバーが表示されます。また、マクロとして操作を記録しているときは、ステータスに「マクロの記録中」と表示されます。


(8)以下のような手順で記録します。細かな操作まで残すのもコツです。

当初考えていた手順 実際に記録する操作
(0)「A日程」ワークシートの内容を削除してお 1. 「A日程」ワークシートを選択する
2. Ctrlキーを押しながら、「A」キーを押す、すべて選択される
3. メニューバーから「編集/削除」をクリックする
4. セルA1をクリックして、選択を解除する
(1)リストの1行目のセルを選択する 5. 「参加者リスト」ワークシートを選択する
6. リストの中のセルを選択する、ここではセルB7をクリックする
(2)「データ/フィルタ/オートフィルタ」を選択する 7. メニューバーから「データ/フィルタ/オートフィルタ」を選択する
(3)「A日程」の列から「○」を選択する 8. A日程のフィルタ条件から「○」を選択する、するとA日程の参加者に絞り込まれる
(4)データが含まれている表全体をコピーする 9. 項目名の先頭をクリックする、ここではセルB6をクリックする
10. 「Ctrl」と「Shift」キーを押しながら、(矢印キーの近くにある)「End」キーを押す。すると、データが含まれているリストの行がすべて選択される
11. メニューバーから「編集/コピー」を選択する
(5)「A日程」ワークシートに表全体を貼り付ける 12. 「A日程」ワークシートをクリックして、切り替える
13. メニューバーから「編集/貼り付け」を選択する、すると絞込みされたデータのみ張り付けられる
(6)余分な列を削除する 14. 貼り付けた列からB日程の列全体を選択して、削除する
15. 列幅を整える
16. セルA1を選択して、選択を解除する
17. 「参加者リスト」ワークシートをクリックして、切り替える
18.  メニューバーから「データ/フィルタ/オートフィルタ」を選択し、オートフィルタを解除しておく
19. セルA1を選択して、選択を解除する

(9)記録操作が終わったら、「記録終了」ボタンをクリックします。

(10)記録が終わったら、ボタンの名前を変更しておきましょう。ボタンの上で右クリックして、表示されたポップアップメニューから「テキストの編集」を選択します。

(11)ボタンの名前が変わりました。ボタンのサイズを適宜変更して完成となります。

4.さいごに
いかがでしょうか?マクロの記録では単に操作を記録するだけではなく、後で操作を繰り返したときにどのような動作をするのか想像しておくことがコツです。作成したボタンを使って、リストの内容を挿入したり、削除したりして、マクロがどのように動作するのか試してみるといいでしょう。次回は、Excelを使ったレポートの作成をお送りする予定です。お楽しみに。
あなたのご意見をお聞かせください
この記事を友人や同僚に紹介したいと思う
参考になった
参考にならなかった
 
Aichi Industry Promotion Organization
財団法人あいち産業振興機構