目次
現在表示されているセル範囲を取得したい
ExcelVBA のマクロで、現在表示中のセル範囲を取得したいことがあったのでマクロを作成してみました。
例として以下の画像のワークシートを準備してみました。
現在のウィンドウに A1:I11 の範囲が表示されています。この範囲をマクロで取得してみたいと思います。
![例としてこのワークシートの表示状態でマクロを実行してみます。](https://pulogu.net/wordpress/wp-content/uploads/2022/03/current-displaying-cellrange-get-1024x466.png)
マクロの一例
早速、下記のマクロを作成してみました。マクロの一例としてご覧ください、
VisibleRange というプロパティを使用してセル範囲を取得しています。
VisibleRange プロパティは、現在表示されているセル範囲を Range オブジェクト として取得する事ができるプロパティです。
Sub 現在表示されているセル範囲を取得するマクロ()
MsgBox ActiveWindow.VisibleRange.Address
End Sub
上のマクロを実行してみると以下の画像の結果になりました。
Msgbox にセル範囲 A1:J12 が出力されていますね。
A1:I11 の範囲が出力されると思っていましたが、 J 列と 12 行目が少し見えているので、その範囲までのアドレスを取得しているようです。
![現在のウィンドウに表示されているセル範囲が取得できました。](https://pulogu.net/wordpress/wp-content/uploads/2022/03/displayedcellrangeacquisitionresult-1024x464.png)
ダイアログボックスを拡大した画像です。
A1:J12 と出力されています。
![ダイアログボックスに A1:A12 と出力されています。](https://pulogu.net/wordpress/wp-content/uploads/2022/03/msgboxenlargedview.png)
テスト環境
- Windows 11 Home 64 ビット
- Microsoft Excel for Microsoft 365
以上閲覧ありがとうございました。