ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.001

マクロ記録で可変のデータ範囲を取得するには

2003/2007/2010/2013/2016/2019

マクロを記録するときに、セルをクリックするなどして選択を行うと、絶対的もしくは相対的に番地が記録されます。

例えば、並べ替えのコマンドをマクロ記録する場合、普通に操作をすると(フィルターのコマンドを使用したり、データ内でセルを選択して範囲を認識させてから並べ替えを実施したり…)、マクロには並べ替えを行った範囲がバッチリと記録されます。
そのように作成した並べ替えのマクロは、あとでデータ範囲が増えた場合に、記録されたその範囲のみが対象で並べ替えが実施され、あとから増えたデータはそのまま残されてしまいます。

さてここで、いつも最新のデータ範囲を指定できるようにするにマクロ記録の方法をご案内します。
方法はすばり、マクロ記録でショートカット キーを使用します。

任意な範囲や場所を選択できるショートカット キーは次のようなものがあります。

  • データ範囲選択1 ...データ内のセルを選択し、「Ctrl」+「Shift」+「:け」
  • データ範囲選択2 ...データの左上端セルを選択し、「Ctrl」+「Shift」+「→」、続いて「Ctrl」+「Shift」+「↓」
  • 連続データ範囲の列選択 ...先頭セル選択後、「Ctrl」+「Shift」+「↓」
  • 連続データ範囲の行選択 ...先頭セル選択後、「Ctrl」+「Shift」+「→」
  • データの下端セル選択 ...その列のセルを選択し、「Ctrl」+「↓」
  • データの右端セル選択 ...その行のセルを選択し、「Ctrl」+「→」
  • データの上端セル選択 ...その列のセルを選択し、「Ctrl」+「↑」
  • データの左端セル選択 ...その行のセルを選択し、「Ctrl」+「←」
  • セルA1選択 ...「Ctrl」+「Home」
  • データ範囲の右下端セル選択 ...データ内のセルを選択し、「Ctrl」+「End」
  • 右のシートを選択 ...「Ctrl」+「PageDown」
  • 左のシートを選択 ...「Ctrl」+「PageUp」
  • 開いているブックを切り替える ...「Ctrl」+「F6」

これらショートカット キーは、普段の操作でも有効利用できます。
ただし途中に空白セルがある場合、方向キーを使用するショートカット キーではその手前のセルが取得されますので、データが連続していることが条件です。
途中で空白があるかもしれないデータの場合に、例えば下端セルを取得するには、その列のはるか下の空白セルからショートカット キー「Ctrl」+「↑」で下端セルが取得できます。

マクロ記録する際は、基準のセルの番地を記録させてからショートカット キーを使用することで、常に最新のデータの場所や範囲を取得することができます。

例えば先の並べ替えのマクロは、必ずデータ範囲となるセルを選択してからショートカット キーを使って範囲選択をし、並べ替えを行うように記録することで、いつも最新のデータ範囲が選択されて並べ替えが実施されるようになります。

VBAを使用しなくても、これらショートカット キーを駆使することで、思ったよりも複雑なマクロを作成することができます。

関連ヘルプ

ワークシートにボタンを作成し、マクロを割り当てて実行できるようにしたい
マクロ記録の絶対参照と相対参照とは
マクロのセキュリティ警告メッセージを表示させたくない
作成済みのマクロに、後からショートカット キーを割り当てるには
マクロは削除したのに開くときにセキュリティ警告が表示される、マクロの完全削除
マクロ記録はどこに記録されているのか
別のブックにマクロをコピーしたい
マクロ記録でできること、できないこと