§10-03…相対参照マクロ – オンライン無料パソコン教室 | PCセミナー

§10-03…相対参照マクロ

(1)これまでは「どこで実行してもセルB2を処理する(絶対参照マクロ)」や、「選択済みの範囲を処理する」というタイプのマクロを学習しました。ここでは「選択済みセルの『右下のセル』を処理する」マクロを登録します(1つ右、1つ下)。実行前にどこを選択・アクティブにしているかによって実行結果が異なるマクロです。
ここでは「右下(1つ右、1つ下)のセルをオレンジで塗り『テスト3』と入力する」マクロを登録します。「Sheet3」のB2で記録してみます。アクティブにして記録を開始してください。

(2)マクロ名は「相対参照テスト」とします。

(3)現在はB2が選択されています。その状態でC3を選択すると「C3へ移動する」という情報がそのまま記録されてしまいます(絶対参照マクロ)。そうではなく、「実行直前に選択していたセルの右下へ移動する」と記録させます(1つ右、1つ下)。このようなマクロを「相対参照マクロ」と呼びます。相対参照でマクロを記録する場合には【表示】タブの[マクロ][相対参照で記録]をオンにしておきます。

(4)この状態でB2の右下である「①セルC3をアクティブにし」「②オレンジで塗りつぶし」「③『テスト3』と入力」という作業をします。なお「テスト」の入力時の確定には{Ctrl}+{Enter}を使います。操作後は[相対参照で記録]をオフにします。

(5)ここまでで記録を終了させましょう。

(6)記録終了後は、「Sheet4」(シート追加)でマクロのテストをします。セルD2をアクティブにしてから{Alt}+{F8}でマクロリストを表示してください。

(7)「相対参照テスト」を[実行]してください。

(8)実行前に選択されていたセル(D2)の右下(1つ右、1つ下)であるE3が処理の対象となりました。