グラフの新規作成については、テキストの通りである。サイズデータの入力は,InputBox関数を使う。(InputBox関数については、テキストp.53-54を参照)
コードの書き方の補足(メソッドの引数の渡し方)
ApplyCustomType、SetSourceDataなどのメソッドは、引数を持つ。これに対しては、引数名:=式[,引数名:=式]で書いて、引数とその値を指定する。
プロパティなどのスペルエラーがあると、入力した単語が大文字で始まらないので、エラーと分かる。その場合、.を入力した後に、表示される候補一覧から、↓や↑で選択し、確定(Enter)するようにするのが良い。
デバッグでは、ステップインで、パラメータの変更によるグラフの変化を1つずづ確認しながら進めるのが良い。元のグラフと違ったら、その上の行から、オブジェクト名やデータなどの間違いなどが分かる。
セルのデータが変化するとき(Worksheet_Changeイベント)、その前に何らかのアクションを起こすには、セルの選択範囲を変更した時点(Worksheet_SelectionChangeイベント)で,状態を記録しておく必要がある。
Worksheet_Changeイベントは、データの変更の有無ではなく、そのセルに何らかの操作(例えば削除後追加)があると発生する。
閉じる前に何らかのアクションを起こすには、「Worksheet_BeforeClose」イベント使う。
上書き保存は、「ActiveWorkbook.Save」である。
ユーザフォームを作るほかに、データフォームを使えば、選択範囲の表(リスト)から単票のフォームができるので、それで入出力することができる。
「ローン返済シミュレーション」のように、普通は、購入金額と頭金、利率と返済月数から、毎月の返済額を計算するが、購入金額と毎月の返済金から、頭金を算出することもできる。後者は、ワークシートではゴールシークやソルバーでないと、計算できない。
実習は、「ローン返済.xls」を開いて、実行とコードの詳細を調べること。(必要なデータをテキストボックスに入力後に「計算」し、結果を見る。「クリア」して、再度、条件を変えて「計算」する。最後にフォームを「閉じる」
(注) このプログラムでは、結果を印刷・保存していない。フォームのデータと計算結果をワークシートに行を増やしながら書き出しておけば、後で、計算表としてまとめて印刷することも出来る。
以上