2001年1月18日新規作成
  関谷トップページへ アビリティ授業トップページへ

No.29 「ExcelVBA 第9章 見積書の作成(つづき)、第10章 グラフ、第11章 参考学習」

2001.1.22 関谷

「ExcelVBA 第9章 見積書の作成(つづき)」

効率よく見積書を作成するためのマクロを学習する。

9-1 見積書の構想を練る

9-1-1 見積書の作成

9-1-2 ワークシートの確認

1枚のワークシートに御見積書、諸経費明細表、単位と税区分の表を作っている。
見積書の明細行数は15行で固定している。
消費税は、込みか別かを表示しており、その区分をみて、別のみ消費税の計算をしている。

9-1-3 システム設計 外部仕様の検討

次のボタンを追加して、操作を自動化する。

  1. 《日付入力》ボタン:ボタンをクリックすると、本日の日付になる。
  2. 《諸経費へ》ボタン:見積書エリアから諸経費明細表エリアへ表示画面を移動する。
  3. 《見積書へ戻る》ボタン:見積書エリアへ戻り、諸経費の行を探して、代入する。
  4. 《印刷》ボタン:見積書を2枚印刷する。
  5. 《諸経費印刷》ボタン:諸経費があれば、諸経費明細表を2枚印刷する。
  6. 《保存》ボタン:上書き保存する。

9-2 システム設計の内部仕様を検討する

9-2-1 日付の設定

9-2-2 諸経費の入力

9-2-3 印刷

9-2-4 保存

9-3 プログラムを作成する

9-3-1 「日付貼り付け」プログラムの作成


(今日からの部分)

9-3-2 「諸経費の代入」プログラムの作成

9-3-3 「印刷」プログラムの作成

 マクロの記録により、印刷や保存のプログラムを作る。
 記録の前に、教室のネットワークプリンタを使うために、「ヘッダー」か「フッター」で、作成(印刷)者名(や印刷月日、時刻など)を表示するようにすること。なお、印刷用紙の節約のために、印刷部数を1のままで、記録のこと。

 マクロ記録をすると、複数のモジュールが作成されることがある。(Excelの起動回数分のモジュール)これで構わないが、Module2以降のプロシージャをすべて切り取って、Module1に貼り付けても良い。杉松秀利著、はじめてのExcel97 VBA,ナツメ社,1998.1.3, pp.145-146)

9-3-4 「諸経費印刷」プログラムの作成

9-3-5 「保存」プログラムの作成

9-3-6 マクロボタンの作成とマクロの設定

 マクロをすると、

9-3-7 マクロボタンの動作確認

 動作確認の前に、印刷プレビューで、「ヘッダー」か「フッター」で、作成(印刷)者名(や印刷月日、時刻など)の表示があることを確かめること。なお、印刷テストで用紙の節約のために、「2部印刷」で記録している場合は、「印刷」プロシージャを変更して、印刷部数を1と変更・コンパイルしてから、テストのこと。
(Selection.PrintOut Copies:=1, Collate:=True)


「ExcelVBA 第10章 グラフ」

 ユーザ定義グラフ機能とVBAを使って、さらに簡単に定形のグラフを作成する方法を学習する。

 テキストでは、InputBoxを使って全パラメータを順番に《OK》で確認した後でグラフを描画する方法である。実際には、下の図のようなフォームを使って、全パラメータを一覧表示し、テキストボックスの変更分の入力の方がInputBoxでの確認よりも使いやすいと思われる。(フォームの機能の復習であるが。)

10-1 ユーザ定義グラフとVBAを組み合わせる

10-1-1 ユーザ定義グラフとVBA

 頻繁に使うグラフをユーザ定義グラフがある。パラメータをVBAで指定できるように組み合わせる。

10-1-2 実習の流れ

  1. グラデーションのついたグラフを作成する(作成済み)
  2. これを「ユーザ定義グラフ」として登録する
  3. グラフの各要素を調べる「サイズ取得」プロシージャを作成する
  4. 「「ユーザ定義グラフ」をグラフの種類とし、Bで調べた各要素を既定値とするグラフを作成する「グラフ新規作成」プロシージャを作成する(作成済み)

10-2 ユーザ定義グラフを登録する

10-2-1 ユーザ定義グラフの登録

10-2-2 ユーザ定義グラフの確認

10-3 グラフ要素のサイズを取得する

10-3-1 グラフ要素のサイズの指定

10-3-2 グラフ要素のサイズの取得方法とプロパティ

 グラフ要素のオブジェクト名、プロパティについては、テキストに解説してあるが、「オンラインヘルプ」では、《オブジェクト ブラウザ》を使うことができる。(テキストのp.99のショートカットキー:F2)

《オブジェクト ブラウザ》とヘルプの使い方

 別紙のプリント-オブジェクトブラウザとヘルプの使い方(VBテックラボ&瀬戸遥著、10日でおぼえるExcelVBA入門教室(2000対応)、翔泳社刊、1999、pp.398-405)を参照のこと。

 Webでは、Excel 97 VBA ヘルプの起動方法もある。このページタイトルはExcel97であるが、Excel2000も同じである。芳坂 和行(ほうさか かずゆき)さんの「Excel関連のページです」から。(FAQ、Excel VBA テストなどもある。)

10-3-3 MsgBoxステートメントの構文

10-3-4 プログラムの作成

10-3-5 プログラムの動作確認

10-4 グラフ作成プログラムを作成する

10-4-1 プログラムの確認

 グラフの新規作成については、テキストの通りである。サイズデータの入力は,InputBox関数を使う。(InputBox関数については、テキストp.53-54を参照)

10-4-2 プログラムの作成

10-4-3 プログラムの動作確認

参考 画面の表示方法


「ExcelVBA 第11章 参考学習-イベント駆動型プログラム」

11-1 上書きする前に別セルにデータを移す

10-1-1 セルのデータが変化するとき

 セルのデータが変化するとき(Worksheet_Changeイベント)、その前に何らかのアクションを起こすには、セルの選択範囲を変更した時点(Worksheet_SelectionChangeイベント)で,状態を記録しておく必要がある。

11-2 閉じる前にブックを上書き保存する

11-2-1 閉じる前

 閉じる前に何らかのアクションを起こすには、「Worksheet_BeforeClose」イベント使う。
 上書き保存は、「ActiveWorkbook.Save」である。

参考実習 フォームの優位性

  1. 業務への特化
  2. 複数の計算方法
  3.  「ローン返済シミュレーション」のように、普通は、購入金額と頭金、利率と返済月数から、毎月の返済額を計算するが、購入金額と毎月の返済金から、頭金を算出することもできる。後者は、ワークシートではゴールシークやソルバーでないと、計算できない。