佐賀大学農学部応用生物科学科 生物情報処理演習 講義テキスト 科目ホームページ
このような何度も行う作業を登録しておいて、簡単に呼びだして利用するための機能をマクロと呼びます。
Excelのマクロは、人間の作業をそのまま記録させて、それを再現できるので、非常に簡便に利用できます。
また、ExcelのマクロはVisual Basicで記述されているので、Visual Basicを使って、人間の作業以上の複雑な作業をプログラミングすることも可能です。
ここでは、Excelのマクロの簡単な使い方をご紹介します。
ファイル->オプション->リボンのリボンのユーザー設定に進んで、右側の「開発」のところにチェックを入れてOKを押してください。
これでメニューに「開発」が追加されます。
開発->マクロ->マクロの記録に進み、マクロ名などを記入してOKを押します。
この後、人間がExcel上で行った作業が全て記録されます。
記録させたい作業が終了したらマクロ->記録終了で、マクロの記録が終了します。
記録させたマクロを実行するときには、マクロ->マクロの表示から実行したいマクロを選択し、実行ボタンをクリックすると、記録させた作業を自動で実行します。
ただし、このやりかたですと、シートの同じ位置関係が全く同じで実行されます。
指定されたセルからの相対的な位置関係で実行させたいときはマクロを記録させる前に「相対参照で記録」を選んでおいてください。
Visual Basicが起動され、中央の大きなウインドウに各マクロのソースプログラムが表示されます。
このソースプログラムを書き換えればマクロの挙動も変化します。
たとえば、下図のような簡単なテンプレートを作るマクロを記録します。
ここでマクロの編集をクリックして、「山口」を「沖縄」に書き換えてみましょう。
そしてExcelの新しいシートでこのマクロを実行すると、「山口」が「沖縄」に変わったテンプレートになっているはずです。
まず、Visual Basicの画面で挿入->ユーザーフォームを選択してください。
背景がグレイになっているところがVisual Basicが出力するウインドウになります。
すぐ左のツールボックスから必要な部品をユーザーフォームに引っ張ってきてウインドウ上に配置することができます。
各ツールの位置や大きさはマウスを使って簡単に変更できますし、左下のプロパティーで色や文字のフォントなども簡単に変更できます。
部品の配置ができたら、「計算実行」のボタンを押すと、ラベルAとラベルBの右側のフォームから数値を読み取って、ラベルA+B=の右側のラベルにA+Bの結果を書き出すプログラムを作ってみましょう。
まず、「計算実行」のボタンを右クリックし、「コードの表示」をクリックします。
するとユーザーフォームのためのプログラムを書くためのウインドウが表示されます。
正確に言うと、計算実行ボタンがクリックされたとき実行したいプログラムをここに書きます。
Dimで始まる行は、a, b, waが整数の変数であることを宣言しています。
aで始まる行は、TextBox1に入力された文字列を数値に変換してaに代入することを示しています。
waで始まる行は、aとbの和に代入します。
Label4で始まる行はA+B=の右側にあるラベルに計算した結果であるwaを表示させます。
なお、それぞれの部品の名前(オブジェクト名)はその部品をクリックしたときのプロパティーの一番上に表示されます。
プログラムが完成したら、実行->Sub/ユーザーフォームの実行でテストしてくださいね。
なお、このようなマクロ入りのブックをファイルに保存するときは、必ずマクロ有効ブック(xlsm)で保存してください。
また、フォームだけをファイルとしてエクスポートすることも可能です。
最終更新年月日 2017年1月25日