Excel VBAの使い方/マクロ・VBA

相対参照のマクロを読み解いてみよう

相対参照によるマクロを読み解いて編集するテクニックを紹介します。VBAの知識の復習にもなると思います。ぜひ、ご覧ください!

緑川 吉行

執筆者:緑川 吉行

エクセル(Excel)の使い方ガイド

相対参照によるマクロ記録とは」では、簡単なサンプルを使用して、相対参照によるマクロ記録の操作方法や、その概念について紹介しました。今回は、マクロ記録で作成されたプロシージャの内容を読み解いて、シンプルなマクロに編集するテクニックを紹介します。

相対参照で作成されたマクロ

相対参照によるマクロ記録とは」で作成した相対参照によるマクロをVBEで開いてみましょう。すると、セルC3を選択した操作は次のように記述されています。行頭の「ActiveCell」プロパティは、セルC3を選択する前のアクティブセル、つまりセルA3を参照しています。


Offsetプロパティ


そして、ActiveCellのあとに記述されている「Offset」プロパティが1つ目のポイントです。Offsetプロパティは、アクティブセルから相対的な位置にあるセルを参照するプロパティで、各引数には、アクティブセルから見た選択セルの相対的な位置情報が記述されています。1つ目の引数「RowOffset」は相対的な行位置、2つ目の引数「ColumnOffset」は相対的な列位置です。


ここでは、セルA3から「0行2列目」にあるセルC3を参照していることがわかります。


セルC3なのに「Range("A1")」?


Offsetプロパティの次には、何と「Range("A1")」が記述されています。これが今回2つ目のポイントです。この「Range("A1")」は、Offsetプロパティによる参照先の「左上端」のセルを「セルA1」と見なすための記述です。したがって、もし、「Range("A1")」を「Range("B2")」に修正すると、セルD4が参照されることになります。


なお、今回のように左上端のセルを参照したい場合は、「Range("A1")」の記述を省略できます。

>読み解いたステートメントを、より効率的な形に編集してみます。
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます