なんだかGoodVibes

日々の勉強メモです。

【VBA】使用中の範囲を取得する(UsedRange)

こんにちは。
本日はVBAメモです。

概要

対象のシートから使用中の箇所(入力があるセルの範囲)を
取得し、行や列の情報を取得します。

使用中の範囲の取得にはUsedRangeを使用します。


サンプルコード

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)

Dim r As Range
Set r = ws.UsedRange

' 開始行
Dim startRow As Long: startRow = r.Row

' 開始列
Dim startCol As Long: startCol = r.Column

' 行数
Dim rowCount As Long: rowCount = r.Rows.Count

' 列数
Dim colCount As Long: colCount = r.Columns.Count

' 終了行
Dim endRow As Long: endRow = r.Row + r.Rows.Count - 1

' 終了列
Dim endCol As Long: endCol = r.Column + r.Columns.Count - 1

UsedRangeを使用するとRangeオブジェクトが取得できます。
なので、Rangeオブジェクトのプロパティを使用して行・列の情報を取得します。

終了行・列に関しては、少し計算を行っています。

使用範囲の開始行 + 使用範囲の行数 - 1
使用範囲の開始列 + 使用範囲の列数 - 1

上記のようにして終了行・列が取得できます。



以上です。