Vba で usedrange プロパティを使用するにはどうすればよいですか?
VBA では、 UsedRange プロパティは、データを含むワークシートの範囲を表します。使用される範囲は、値が含まれるワークシート内の最初のセルから値が含まれる最後のセルまで始まります。 A1 から C11 までの範囲を使用した次の例と同様です。
注: UsedRange プロパティは読み取り専用のプロパティです。
UsedRange を使用してコードを作成する
次のコードを使用します。
- まず、スプレッドシートを指定する必要があります。
- 次に、ピリオド (.) を入力し、「usedRange」と入力します。
- その後、使用するプロパティまたはメソッドを使用します。
- 最後に、コードを実行します。
Sub vba_used_range() ActiveSheet.UsedRange.Clear End Sub
上記のコードは、アクティブ シートの使用範囲からすべてをクリアします。
使用した範囲をコピーする
次のコードを使用して、 UsedRange 全体をコピーします。
Sub vba_used_range() ActiveSheet.UsedRange.Copy End Sub
使用されている範囲内の行と列を数える
使用される範囲の行と列をカウントするために使用できる count プロパティがあります。
MsgBox ActiveSheet.UsedRange.Rows.Count MsgBox ActiveSheet.UsedRange.Columns.Count
上記の 2 行のコードは、使用されている範囲内の行数と列数を示すメッセージ ボックスを表示します。
使用範囲内の最後のセルをアクティブ化します。
使用される範囲内の最後のセルを有効にすることもできます (これがワークシートで使用される最後のセルになります)。次のコードを考えてみましょう。
Sub vba_used_range() Dim iCol As Long Dim iRow As Long iRow = ActiveSheet.UsedRange.Rows.Count iCol = ActiveSheet.UsedRange.Columns.Count ActiveSheet.UsedRange.Select Selection.Cells(iRow, iCol).Select End Sub
このコードは、 UsedRange プロパティを使用して行と列の数を取得し、これらの数値を使用して使用範囲内の最後のセルを選択します。
別のワークシートの UsedRange を参照してください。
アクティブシート以外のワークシートで使用されている範囲を参照しようとすると、VBA は次のようなエラーを表示します。
したがって、参照しているワークシートはアクティブ化する必要があります (アクティブ化して初めて UsedRange プロパティを使用できます)。
Sub vba_used_range() Worksheets("Sheet4").Activate Worksheets("Sheet4").UsedRange.Select End Sub
これは、閉じたブックで使用されている範囲を参照できないことを意味します。ただし、最初にワークブックを開いてから、ワークシートで UsedRange プロパティを使用できるようにすることもできます。
使用されている範囲のアドレスを取得します
次のコード行を使用して、使用される範囲のアドレスを取得します。
Sub vba_used_range() MsgBox ActiveSheet.UsedRange.Address End Sub
使用されている範囲内の空のセルを数える
次のコードでは、 FOR (For Each) ループを使用し、使用される範囲内のすべてのセルをループし、空のセルをカウントします。
Sub vba_used_range() Dim iCell As Range Dim iRange As Range Dim c As Long Dim i As Long Set iRange = ActiveSheet.UsedRange For Each iCell In ActiveSheet.UsedRange c = c + 1 If IsEmpty(iCell) = True Then i = i + 1 End If Next iCell MsgBox "There are total " & c & _ " cell(s) in the range, and out of those " & _ i & " cell(s) are empty." End Sub
このコードを実行すると、セルの合計数と空のセルの数を示すメッセージ ボックスが表示されます。
関連するチュートリアル
- Excel で VBA を使用して行を数える
- Excel VBA フォント (色、サイズ、種類、太字)
- Excel VBA 列または行の表示と非表示を切り替える
- Excel VBA 範囲 – 範囲とセルの操作
- Excel で VBA を使用してセルに枠線を適用する