HOME > VBA広場 > Excel VBA ビギナーズ > 第7回 記録したマクロを修正する 3/4

第7回 記録したマクロを修正する 3/4

第7回 記録したマクロを修正する| 1/4  2/4  3/4  4/4 

マクロの中身を修正する

マクロ記録が終わったら、入力した数値がコピーする行番号になるように、マクロの中身を修正してマクロを完成させます。

VBエディタを表示する

VBエディタを開いて、マクロを修正しましょう。

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

    【Excel2007の場合】

    Excel2007ではメニューバーではなく、リボンを使用します。[開発]タブが表示されている場合には、[マクロ]ボタンをクリックすると表示できます。

    ▼ 図03-02 Excel2007での[マクロ]ダイアログボックスの表示
    図03-02 Excel2007での[マクロ]ダイアログボックスの表示
  2. [マクロ名]ボックスから編集したいマクロ[当番作成]を選択する。
  3. [編集]ボタンをクリックし、VBエディタを起動する
    ▼ 図03-03 [マクロ]ダイアログボックス
    図03-03 [マクロ]ダイアログボックス

VBエディタが起動しました。Subの後ろに続く記述がマクロ名です。

▼ 図03-04 Visual Basic Editor
図03-04 Visual Basic Editor

行番号部分を変更する

今回の修正は、セル範囲を指定している部分の行番号を“予定表”シートのセルN2に入力された数値に変更します。 まず、セル範囲を指定している部分を書き換えてみましょう。

  1. 「Range("A1").Select」を「Range("A" & "1").Select」と変更する。 ※「&」は文字列同士をつなげる機能を持つため、VBAでは「"A1"」と「"A" & "1"」は同じ意味として扱われます。

    ▼ 図03-05 マクロの修正(1)
    図03-05 マクロの修正

続いて、修正した"1"の部分が、“予定表”シートのセルN2の値となるように修正します。

  1. 「Range("A" & "1").Select」を「Range("A" & Sheets("予定表").Range("N2").Value).Select」と変更する。
    ▼ 図03-06 マクロの修正(2)
    図03-06 マクロの修正(2)

セルに入力された値で行番号が変わるように設定されました。
VBエディタでの作業は終了です。VBエディタの画面を閉じてエクセルの画面に戻っておきましょう。

第7回 記録したマクロを修正する| 1/4  2/4  3/4  4/4