効率よく見積書を作成するためのマクロを学習する。
1枚のワークシートに御見積書、諸経費明細表、単位と税区分の表を作っている。
見積書の明細行数は15行で固定している。
消費税は、込みか別かを表示しており、その区分をみて、別のみ消費税の計算をしている。
次のボタンを追加して、操作を自動化する。
マクロの記録により、印刷や保存のプログラムを作る。
記録の前に、教室のネットワークプリンタを使うために、「ヘッダー」か「フッター」で、作成(印刷)者名(や印刷月日、時刻など)を表示するようにすること。なお、印刷用紙の節約のために、印刷部数を1のままで、記録のこと。
マクロ記録をすると、複数のモジュールが作成されることがある。(Excelの起動回数分のモジュール)これで構わないが、Module2以降のプロシージャをすべて切り取って、Module1に貼り付けても良い。杉松秀利著、はじめてのExcel97 VBA,ナツメ社,1998.1.3, pp.145-146)
マクロをすると、
動作確認の前に、印刷プレビューで、「ヘッダー」か「フッター」で、作成(印刷)者名(や印刷月日、時刻など)の表示があることを確かめること。なお、印刷テストで用紙の節約のために、「2部印刷」で記録している場合は、「印刷」プロシージャを変更して、印刷部数を1と変更・コンパイルしてから、テストのこと。
(Selection.PrintOut Copies:=1, Collate:=True)
ユーザ定義グラフ機能とVBAを使って、さらに簡単に定形のグラフを作成する方法を学習する。
テキストでは、InputBoxを使って全パラメータを順番に《OK》で確認した後でグラフを描画する方法である。実際には、下の図のようなフォームを使って、全パラメータを一覧表示し、テキストボックスの変更分の入力の方がInputBoxでの確認よりも使いやすいと思われる。(フォームの機能の復習であるが。)
頻繁に使うグラフをユーザ定義グラフがある。パラメータをVBAで指定できるように組み合わせる。
グラフ要素のオブジェクト名、プロパティについては、テキストに解説してあるが、「オンラインヘルプ」では、《オブジェクト ブラウザ》を使うことができる。(テキストのp.99のショートカットキー:F2)
別紙のプリント-オブジェクトブラウザとヘルプの使い方(VBテックラボ&瀬戸遥著、10日でおぼえるExcelVBA入門教室(2000対応)、翔泳社刊、1999、pp.398-405)を参照のこと。
Webでは、Excel 97 VBA ヘルプの起動方法もある。このページタイトルはExcel97であるが、Excel2000も同じである。芳坂 和行(ほうさか かずゆき)さんの「Excel関連のページです」から。(FAQ、Excel VBA テストなどもある。)
グラフの新規作成については、テキストの通りである。サイズデータの入力は,InputBox関数を使う。(InputBox関数については、テキストp.53-54を参照)
セルのデータが変化するとき(Worksheet_Changeイベント)、その前に何らかのアクションを起こすには、セルの選択範囲を変更した時点(Worksheet_SelectionChangeイベント)で,状態を記録しておく必要がある。
閉じる前に何らかのアクションを起こすには、「Worksheet_BeforeClose」イベント使う。
上書き保存は、「ActiveWorkbook.Save」である。
「ローン返済シミュレーション」のように、普通は、購入金額と頭金、利率と返済月数から、毎月の返済額を計算するが、購入金額と毎月の返済金から、頭金を算出することもできる。後者は、ワークシートではゴールシークやソルバーでないと、計算できない。