HOME > VBA広場 > Excel VBA ビギナーズ > 第3回 マクロの修正に挑戦 2/4

第3回 マクロの修正に挑戦 2/4

第3回 マクロの修正に挑戦| 1/4  2/4  3/4  4/4 

マクロの記録を開始する

今回使うマクロは『指定したセル範囲を印刷プレビューする』というマクロとしてはいたって簡単なものです。しかし簡単なマクロでも、元のシートの構成やセルの内容が変わってしまうだけで、正しく実行できないようになってしまうこともありえる話です。今回は、VBAの基本を習得しながら、セルの変更に合わせてマクロの中身を修正する手順を習得しましょう。

新しいマクロを記録する

今回のテーマはマクロの修正なので、ここではセルを修正する前の状態でマクロを記録します。サンプルファイル“作業日報.xls”を開き、以下の手順のとおりマクロを記録していきます。

  1. [ツール]メニューの[マクロ]から[新しいマクロの記録]を選択し、[マクロの記録]ダイアログボックスを表示する。
    ▼図02-01 [マクロの記録]ダイアログボックスの表示
    図02-01 [マクロの記録]ダイアログボックスの表示

    【Excel2007の場合】

    Excel2007ではメニューバーでなく、リボンを使用します。 [マクロ]ボタンは[開発]タブ内に用意されています。

    ※ [開発]タブは既定では表示されていません。[開発]タブの表示方法はこちら

    ▼ 図02-02 Excel2007での[マクロの記録]ダイアログボックスの表示
    図02-02 Excel2007での[マクロの記録]ダイアログボックスの表示

    また、ステータスバーのボタンを使って表示することもできます。

    ▼ 図02-03 Excel2007での[マクロの記録]ダイアログボックスの表示(2)
    図02-03 Excel2007での[マクロの記録]ダイアログボックスの表示(2)
  2. [マクロ名]ボックスに「Print1」と入力する。
  3. 内容がわかるように[説明]ボックスに「日報1週目を印刷する」と入力する。
  4. [OK]ボタンをクリックし、マクロ記録を開始する。
    ▼ 図02-04 [マクロの記録]ダイアログボックス
    図02-04 [マクロの記録]ダイアログボックス

印刷内容の設定

  1. 印刷プレビューしたいセル範囲(A6:E33)を選択する。
  2. [ファイル]メニューから[印刷]を選択し、[印刷]ダイアログボックスを表示する。
    ▼ 図02-05 [印刷]ダイアログボックスを表示
    図02-05 [印刷]ダイアログボックスを表示

【Excel2007の場合】

Excel2007ではメニューバーではなく、[Office]ボタンを使用します。

  1. [Office]ボタンをクリックして表示されたメニューの[印刷]から[印刷]を選択し、[印刷]ダイアログボックスを表示する。

    ▼ 図02-06 Excel2007での[印刷]ダイアログボックスの表示
    図02-06 Excel2007での[印刷]ダイアログボックスの表示
  2. [印刷]ダイアログボックスで[印刷対象]の[選択した部分]を選択する。
  3. [印刷プレビュー]ボタンをクリックする。
    ▼ 図02-07 [印刷]ダイアログボックス
    図02-07 [印刷]ダイアログボックス
  4. 印刷内容を確認し、[閉じる]ボタンをクリックする。
    ▼ 図02-08 印刷プレビュー
    図02-08 印刷プレビュー

    【Excel2007の場合】

    Excel2007では、印刷プレビュー画面にもリボンが用意されています。[印刷プレビュー]タブの中の[印刷プレビューを閉じる]ボタンを使用します。

    ▼ 図02-09 Excel2007での印刷プレビュー画面
    図02-09 Excel2007での印刷プレビュー画面
  5. [記録終了]ボタンをクリックし、マクロ記録を終了する。
    ▼ 図02-10 記録終了
    図02-10 記録終了

    【Excel2007の場合】

    Excel2007では[記録終了]ツールバーは表示されません。[開発]タブが表示されている場合は、[開発]タブ内の[記録終了]ボタンを使用します。

    ▼ 図02-11 Excel2007での記録終了
    図02-11 Excel2007での記録終了

マクロ実行ボタンを作る

作成したマクロを実行するためのボタンを作成しましょう。[フォーム]ツールバーが表示されていない場合には、まず[フォーム]ツールバーを表示します。ただし、Excel2007ではツールバーではなく[開発]タブを使用します。([開発]タブの表示方法はこちら

  1. ツールバーの上で右クリックする。
  2. 表示されたショートカットメニューから[フォーム]を選択。あるいは[表示]メニューの[ツールバー]から[フォーム]を選択すると、[フォーム]ツールバーが表示される。
    ▼ 図02-12 [フォーム]ツールバーを表示
    図02-12 [フォーム]ツールバーを表示
  3. [フォーム]ツールバーの[ボタン]ボタンをクリックすると、マウスポインタが矢印から「+」になる。
  4. ボタンを貼り付けたい位置でクリックすると、ボタンが配置され、[マクロの登録]ダイアログボックスが表示される。
    ▼ 図02-13 ボタンを配置
    図02-13 ボタンを配置

    【Excel2007の場合】

    Excel2007では、[開発]タブの[挿入]ボタンから[フォームコントロール]の[ボタン]ボタンを使用します。

    ▼ 図02-14 Excel2007でボタンを配置
    図02-14 Excel2007でボタンを配置
  5. [マクロの登録]ダイアログボックスの一覧から[Print1]を選択する。
  6. [OK]ボタンをクリックする。
    ▼ 図02-15 [マクロの登録]ダイアログボックス
    図02-15 [マクロの登録]ダイアログボックス
  7. ボタンが選択された状態で、ボタンの内部をクリックして「1週目」と入力する。ボタン以外の部分をクリックすると確定される。
    ▼ 図02-16 ボタン名を入力
    図02-16 ボタン名を入力

同様の手順で、8〜14日目を印刷する“Print2”マクロ、15〜21日目を印刷する“Print3”マクロ、22〜28日目を印刷する“Print4”マクロ、29〜31日目を印刷する“Print5”マクロを作成し、実行用ボタンを作成してみましょう!

▼ 図02-17 完成例
図02-17 完成例

以上でマクロの作成は完了です。このまま利用していけば何の問題もなく動作しますが、ブックを継続して使用していると細かな変更が必要な場面も出てくる可能性があります。 次のページでは、ブックに変更が生じた場合、マクロを新規に記録しなおすことなく、マクロの中身に手を加えることで、変更箇所に対応した動作をするマクロに修正する手順をご紹介します。

第3回 マクロの修正に挑戦| 1/4  2/4  3/4  4/4