エクセルのマクロ


TOPに戻る

 エクセルには,いくつかの処理を自動化する「マクロ機能」がある.これは便利な機能なので覚えておくと役に立つ.

 まず,以前に使用していた「マイデータ」を開く.その中の「人口密度」の列のどこでも良いので数値の入力されているセルを選択する.このセルに入力されている数値を小数点以下1桁の表示に変更するマクロをつくってみる.

 「表示」リボンを選択→マクロ→マクロの記録を選ぶ.

 マクロ名を適当につける(デフォルトで"Macro1"になっているのを"小数点以下1位"とかに変更)→OKボタン.

 書式を変更したいセル上で右クリック→「セルの書式設定」を選び,開かれた「セルの書式設定」ウィンドウ左側の窓の中の数値を選択する.小数点以下の桁数を1に変更→負の数の表示形式を「-1234.0」を選択→OKボタン.

 マクロ記録用小窓の左側にある四角いボタン「記録終了」を押す.(小窓がなければマクロ→記録終了).これでマクロが記録された.

 他の人口密度のセルに移動して,リボンからマクロ→マクロの表示を選ぶ.

 登録されているマクロが表示されるので,選んで実行ボタンを押す.これでマクロが実行される.複数のセルを選んで実行することもできるし,編集メニュー→繰り返し(あるいはCtrl+Y)で何回も繰り返すことも可能.ただし,このファイルを保存しなければ,マクロも保存されないので注意.

 次に,この保存されたマクロがどのような形・文で保存されているのか確認してみる.さきほどの「マクロ」ウィンドウで実行の代わりに編集を選ぶ.

 すると新しいウインドウが開く.左側にある小さい窓「プロジェクト」の中の,標準モジュール→Module1をダブルクリックして選択すると,右側の窓の中に図のような文字が見えてくるはず.人によって多少違いがあるかもしれないが気にしないこと.

 窓の中には,

のように書かれているが,これが保存されたマクロである.

 このように,マクロは「標準モジュール」というグループの中のいずれかの「モジュール」に記述される.<いずれかの>と書いたのは,「Module1」,「Module2」のように「モジュール」は増やす事ができるからである.モジュールを削除したい場合には,削除したいモジュールを選択して,右クリック→Module1の解放を選んでやればよい.「エクスポートするか?」のように尋ねてくるが,「いいえ」をクリックすれば削除できる.また,モジュールを追加したい場合には,メニューの挿入→標準モジュールを選択してやればよい.

 さて,マクロの中身に戻る.「Sub」とはこれよりマクロが始まるという宣言であり,「小数点以下1位()」というのがマクロの名前.「End Sub」というのがマクロの終わりを示している.最初が「’」で始まる行はコメント行と言ってマクロが実行される時には無視される行であることを示す.例のように,マクロの説明などを記述する時に用いる.

 したがって,今回保存したマクロは「Selection.NumberFormatLocal = "0.0_ "」のたったの1行である.これは,簡単に言うと,「選択されているセルの数値形式を0.0(小数点以下1位)にせよ」というものである.

 今回はマクロの内容について詳しく知る必要は無い.とにかく自分が保存したマクロがどのようになっているのかを確認できるようになること.

 また,選択されたセルの数値形式の変更だけでなく,色々な事がマクロで保存できるので自分で試してみること.また,マクロでは記録できない動作もあるので確認してみよう.
 例えば,次のような事はマクロで保存できるのだろうか??授業の終わりに質問するかもしれないので,各自チェックしておこう!!

 また,記録したマクロを実行する際,どのような状態から始めればちゃんとマクロが動くのか確認してみよう.例えば,上記のセルの数値形式を変更するマクロは,対象となるマクロを選択しておかないとそのセルの数値形式は変更されない.これを,最初に選択されているセルがどれであっても,指定するセルの数値形式を変更したいときにはどうすればよいか?


TOPに戻る