
Excel VBA UsedRangeプロパティは、ワークシート上で使用されている範囲を取得するために使用します。
データが入力されているセルの最初のセルから最後のセルまでの範囲を返します。UsedRangeプロパティの使い方や注意点、サンプルコードをもとに具体的に解説します。
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る
Excel VBA UsedRangeを利用
以下のようなシーンで利用されます。
・ワークシート内の全データを一括で処理したい。
・データの量に応じて、処理対象の範囲を動的に決定したい。
・使用されている範囲のデータをクリアしたい。
Excel VBA UsedRangeの使い方とポイント
Dim usedRange As Range
Set usedRange = Worksheets("Sheet1").UsedRange
UsedRangeプロパティを使用するには、ワークシートオブジェクトに対してこのプロパティを呼び出します。
・ワークシートの中で一度でも使用されたことのあるセルが含まれるため、空白セルが含まれる場合があります。
・特に一度入力されてから削除されたセルがある場合、範囲が意図したものより大きくなることがあります。
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る
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
シート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で自動化するコードのベースを習得したい方におすすめ!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!