
Excel VBA UsedRangeプロパティは、ワークシート上で使用されている範囲を取得するために使用します。
データが入力されているセルの最初のセルから最後のセルまでの範囲を返します。UsedRangeプロパティの使い方や注意点、サンプルコードをもとに具体的に解説します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
Excel VBA UsedRangeを利用
以下のようなシーンで利用されます。
・ワークシート内の全データを一括で処理したい。
・データの量に応じて、処理対象の範囲を動的に決定したい。
・使用されている範囲のデータをクリアしたい。
Excel VBA UsedRangeの使い方とポイント
Dim usedRange As Range
Set usedRange = Worksheets("Sheet1").UsedRange
UsedRangeプロパティを使用するには、ワークシートオブジェクトに対してこのプロパティを呼び出します。
・ワークシートの中で一度でも使用されたことのあるセルが含まれるため、空白セルが含まれる場合があります。
・特に一度入力されてから削除されたセルがある場合、範囲が意図したものより大きくなることがあります。
Excel VBA UsedRangeのサンプルコード
Option Explicit
Sub ShowUsedRange()
Dim ws As Worksheet
Dim usedRange As Range
' シート1を指定
Set ws = Worksheets("Sheet1")
' 使用されている範囲を取得
Set usedRange = ws.usedRange
' 使用されている範囲のアドレスを表示
MsgBox "UsedRange is: " & usedRange.Address
End Sub
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
シート1の使用されている範囲内のデータをクリアする例
Option Explicit
Sub ClearUsedRange()
Dim ws As Worksheet
' シート1を指定
Set ws = Worksheets("Sheet1")
' 使用されている範囲をクリア
ws.UsedRange.Clear
End Sub
シート1の使用されている範囲内の各セルの内容を読み取り、それをDebug.Printで出力する例
Option Explicit
Sub ReadUsedRange()
Dim ws As Worksheet
Dim usedRange As Range
Dim cell As Range
' シート1を指定
Set ws = Worksheets("Sheet1")
' 使用されている範囲を取得
Set usedRange = ws.usedRange
' 使用されている範囲内の各セルをループ
For Each cell In usedRange
Debug.Print cell.Address & ": " & cell.Value
Next cell
End Sub
これらのポイントを理解することで、UsedRangeプロパティを効果的に活用できるようになります。
「Excel VBAで自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。