マクロ(1) 操作の記録
表データに関する一連の操作をマクロとして記録し、記録した操作をマクロプログラムとして一気に実行させる。
ポイント
- マクロ(macro)とは、表計算の操作手順を記録して、その作業を何度でも一度に実行できるようにプログラム化する自動化処理機構である。
- 一連の操作をマクロ名として名前を付ける。
- 何度も繰り返している同様な(手数の多い)操作をマクロとして記録して、手間を簡略化して提携作業を簡素化することができる。
- 複数のマクロを組み合わせて処理を行うことができる(そのマクロの組み合わせ操作自体を、新たにマクロとすることができる)。
- 悪意を持ったマクロプログラムを含んだExcelブックが存在する。 こうしたマクロを実行して不測の事態を招かないように、表計算ソフトウエアの使用では、通常、勝手にマクロプログラムを実行しないようにセキュリティレベルを上げておくべきである。
- 自分で作成したマクロ、または信頼できるマクロを(有効)実行できるためには、セキュリティレベルを中に設定し直す。
利用する機能
機能 | メニュー | 意味 |
---|---|---|
マクロ | [ツール] [マクロ][新しいマクロの記録] | Excelの操作手順を記録する |
マクロセキュリティ | [ツール] [マクロ][セキュリティ]* | マクロを有向にするには[中]に設定 |
ここで利用する表データ:seiseki.xls
注意: Webブラウザ内で開かないで、一旦ダウンロードしてファイルとして保存してから、そのファイルをOpenしてください。
MS Excelの場合:
- 操作を記録してマクロに登録するには
- 登録したい操作手順の確認のために、最初から逐一操作を実行・確認した後に、データを元の状態に戻しておく
- [ツール] [マクロ][新しいマクロの記録]で、記録する操作群にマクロ名を入力して[OK]
- [記録終了]ツールバーが現れるのを確認。この後の全ての操作は記録される。
- 目的の結果をもたらすための一連を操作を行う
- 目的の結果を達成したことを確認してから、[記録終了]ツールバーの終了ボタン"■"を押す
-
記録したマクロを実行するためには
- [ツール][マクロ][マクロ]を選択
- 登録してあるマクロ一覧から実行したいマクロを選択して[実行]を押す
課題
- シート[得点]に学生番号、性別、英・国・数・社・理科の科目得点からなる表データが与えられている。
- マクロを有効にするために、Excelのセキュリティを[中]にして(Windowsの場合、Macintoshの場合には上記参照)、マクロの実行が可能な状態にしておく。
- 以下、英語の得点、学生番号での並べ替え、および性別から男または女レコードの抽出(オートフィルタ)をマクロに登録する。
- [ツール] [マクロ][新しいマクロの記録]で、マクロ名「英語並べ替え」を入力
- [記録終了]ツールバーが現れるのを確認してから、3行目(項目フィールドの行)の適当なフィール名のセルをクリック
- [データ][並べ替え]で「最優先されるキー」を "英語" として[OK]
- [記録終了]ツールバーの終了ボタン"■"を押して、マクロ「英語並べ替え」の記録を終了
- 次に、マクロ名として「元に戻す」として、上と同様な操作(3行目のセルをクリックすることから始める)をして、学生番号を最優先されるキーとして並べ替え操作を記録する(最後に、終了ボタン"■"を押す)。 このマクロの記録操作によって、再び、レコードは学生番号順に並んだ。
- 同様に、マクロ名「国語並べ替え」として、国語得点を最優先されるキーとして並べ替え操作を記録する。
- マクロ名「元に戻す」を実行する。
- 次に、マクロ名「男抽出」として、3行目(項目フィールドの行)の適当なフィール名のセルをクリックしてから、[データ][フィルタ][オートフィルタ]として、性別フィールドで▼から「男」を選択して男を含むレコードを抽出する操作を記録し、終了ボタン"■"を押す。
- いったん、[データ][フィルタ][オートフィルタ]を選択して、オートフィルタ機能を止める。
- 同じく、マクロ名「女抽出」として、オートフィルタを使って性別フィールドで▼から「女」を選択して男を含むレコードを抽出する操作を記録する。
- オートフィルタ機能をキャンセルしておく。
- マクロ「男抽出」を実行し、さらに続けてマクロ「英語並べ替え」を実行してみよ。どんなデータが得られたかを確認してみよ。
- さらに続けて、マクロ「国語並べ替え」を実行してみよ。どんなデータが得られたか確認してみよ。
- さらに続けて、マクロ「女抽出」を実行してみよ。どんなデータが得られたか確認してみよ。
研究
- 登録したマクロは、Excelブック内に記録した操作がプログラムとして保存されている。
- [ツール][マクロ][Visual Basic Editor]を選んで、開かれるウィンドウの中で、プロジェクトにあるVBAProject(seiseki.xls)「標準モジュール」(Macintoshでは、単に「モジュール」)フォルダをクリックするとModule1, Module2, ... があることがわかる。
- そのModule1(やModule2を)クリックすると、記録したマクロ名と共にその記録内容がマクロプログラムとして書かれているウィンドウが開く。