HOME > VBA広場 > Excel VBA ビギナーズ > 第5回 個別精算書をマクロで作成する 5/5

第5回 個別精算書をマクロで作成する 5/5

第5回 個別精算書をマクロで作成する| 1/5  2/5  3/5  4/5  5/5 

マクロを修正する

今回のマクロを正しく動作させるためには、毎回シートに別の名前を設定する必要があります。今回は日付と社員名を組み合わせることで、シート名の重複エラーを防ぎます。“メニュー”シートの社員名と提出日がシート名になるようマクロを修正しましょう。

▼図05-01 セル内容をシート名に利用
図05-01 セル内容をシート名に利用

VBエディタを利用して、シート名の変更部分を修正します。

  1. [ツール]メニューの[マクロ]から[マクロ]を選択し、[マクロ]ダイアログボックスを表示する。
    ※ Excel2007での[マクロ]ダイアログボックスを表示する方法はこちら
    ▼図05-02 [マクロ]ダイアログボックスの表示
    図05-02 [マクロ]ダイアログボックスの表示
  2. [マクロ名]ボックスから編集したいマクロ[新精算書作成]を選択する。
  3. [編集]ボタンをクリックし、VBエディタを起動する。
    ▼図05-03 [マクロ]ダイアログボックス
    図05-03 [マクロ]ダイアログボックス

VBエディタが起動し、“新精算書作成”マクロのコードが表示されました。Aのコードがマクロ記録機能で生成されたシート名を変更している部分です。この部分を修正して、セルA3+B3の内容をシート名に表示させましょう。

▼図05-04 シート名を指定している行
図05-04 シート名を指定している行
  1. “新精算書”の部分を「Sheets("メニュー").Range("A3").Value & Sheets("メニュー").Range("B3").Value」に書き換える。
    ▼図05-05 シート名を変更
    図05-05 シート名を変更

1行のコードが長くなってしまった場合は、「 _(半角スペースとアンダーバー)」と入力して改行することができます。VBAでは長すぎるコードを見やすくするために「半角スペースとアンダーバー」を利用して改行することができます。

  1. VBエディタの[×]ボタンをクリックして終了する。
    ▼図05-06 VBエディタを終了する
    図05-06 VBエディタを終了する

再度マクロを実行してみましょう

マクロを作成したら思い通りの動作になっているかどうか、確認を行うようにしておくとよいでしょう。今回修正したマクロは、セルA3とB3に入力されているデータを利用しますので、それぞれのセルに適当なデータを入力し、マクロを実行してみましょう。

  1. 社員名と提出日を入力する。
    ※ シート名に「/」は使用できないため、「20090210」と年月日を続けて入力しています。
    ▼図05-07 社員名と提出日を入力する
    図05-07 社員名と提出日を入力する
  2. [ツール]メニューの[マクロ]から[マクロ]を選択し、[マクロ]ダイアログボックスを表示する。
    ▼図05-08 [マクロ]ダイアログボックスを表示
    図05-08 [マクロ]ダイアログボックスを表示
  3. [マクロ名]ボックスから“新精算書作成”マクロを選択する。
  4. [実行]ボタンをクリックする。
    ▼図05-09 [マクロ]ダイアログボックス
    図05-09 [マクロ]ダイアログボックス

セルA3とB3の内容でシート名が変更されました。

▼図05-10 “新精算書作成”マクロの実行結果
図05-10 “新精算書作成”マクロの実行結果

いかがでしたか?マクロ記録でできることはExcelの基本ができていればそれほど難しくありませんが、マクロ記録だけではできないことはVBAの知識がないと急に難しくなります。今回のサンプルを繰り返し活用して、しっかりと基本をマスターしていきましょう。

第5回 個別精算書をマクロで作成する| 1/5  2/5  3/5  4/5  5/5