- Home ›
- Excelマクロ入門 ›
- マクロの記録と実行
相対参照でマクロを記録する
マクロを記録するとき、セルの位置に関する情報はデフォルトでは絶対参照で記録されますが、相対参照で記録するように変更することができます。ここでは Excel のマクロを相対参照を使って記録する方法について解説します。
(Last modified: )
絶対参照でのマクロの記録とは
デフォルトではセルの位置に関する情報は絶対参照で記録されます。絶対参照の場合は、セルの位置に関する情報がそのままマクロに記録されます。例えば C5 セルと D7 セルに何かの操作をしたといったようにセルの位置の情報がそのまま記録されます。では簡単な例で絶対参照で記録するというのがどういうことなのか解説します。
最初に C3 セルを選択します。
そのあとで通常の手順でマクロの記録を開始します。
最初に選択していたセルの周りのセルを選択し、そのあとで「セルを結合して中央揃え」をクリックします。
それではマクロの記録を終了します。
これで絶対参照を使ってマクロを記録されました。絶対参照の場合は、セルの位置に関する情報はそのままマクロに記録されます。今回の場合でいえば B2 セルから D4 セルまでの範囲に対して「セルを結合して中央揃え」を行った操作が記録されています。
そのため、別のセルをクリックして先ほど記録したマクロを実行しても、再び B2 セルから D4 セルまでの範囲に対して「セルを結合して中央揃え」の操作が実行されます。
例えば E5 セルを選択してから先ほど記録したマクロを実行してみます。
マクロに記録されたいたのは B2 セルから D4 セルまでの範囲に対して「セルを結合して中央揃え」を行う、といったものだったので、最初にどこのセルを選択していたかに関わらず B2 セルから D4 セルまでの範囲が結合されて中央揃えされました。
デフォルトの絶対参照でマクロを記録した場合はこのようになります。
相対参照でマクロを記録する
次に相対参照でマクロを記録します。相対参照の場合は、セルの位置に関する情報は相対位置でマクロに記録されます。マクロの記録前に選択されていたセルを基準として、基準セルの一つ左のセルから一つ右のセルまで操作するといったように対象となるセルは相対位置で記録されます。では簡単な例を試してみます。
最初に C3 セルを選択します。
そのあとで通常の手順でマクロの記録を開始します。
このあとで再度「表示」タブをクリックし「マクロ」をクリックしたあとで「相対参照で記録」をクリックしてください。これ以降は相対参照でマクロが記録されるようになります。
もう一度「マクロ」をクリックしてみると、相対参照で記録中は「相対参照で記録」の左側のアイコンの背景が灰色になっています。
では最初に選択していたセルの周りのセルを選択し、そのあとで「セルを結合して中央揃え」をクリックします。
それではマクロの記録を終了します。
これで相対参照を使ってマクロを記録されました。今回の場合でいえば最初に選択したセルの左上のセルから右下のセルまでの範囲に対して「セルを結合して中央揃え」を行った操作が記録されています。
では E5 セルを選択してから先ほど記録したマクロを実行してみます。
今回は選択していたセルの左上のセルから右下のセルの範囲を結合してて中央揃えするマクロだったので、 E5 セルを中心にセルの結合が行われました。
このようにマクロとして記録する操作は同じだけど、絶対参照と相対参照では記録したマクロを実行したときに結果が異なる場合があります。どちらがいいというわけではなく、目的に応じて絶対参照と相対参照を使い分けてください。
相対参照を絶対参照に戻す
マクロを記録開始後に相対参照で記録するように設定した場合、マクロの記録が終わっても相対参照での記録する設定はそのまま残っています。そのため、次にマクロを記録すると何もしなくても相対参照で記録を行います。
マクロを絶対参照で見るように戻すには、「表示」タブをクリックしたあと「マクロ」をクリックし、表示された「相対参照で記録」をクリックしてください。
これで絶対参照でマクロが記録されるようになりました。
もう一度「マクロ」をクリックしてみると、「相対参照で記録」の左側のアイコンの背景が白色になっています。
-- --
Excel のマクロを相対参照を使って記録する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。