Vba で usedrange プロパティを使用するにはどうすればよいですか?

VBA では、 UsedRange プロパティは、データを含むワークシートの範囲を表します。使用される範囲は、値が含まれるワークシート内の最初のセルから値が含まれる最後のセルまで始まります。 A1 から C11 までの範囲を使用した次の例と同様です。

使用される範囲プロパティ

注: UsedRange プロパティは読み取り専用のプロパティです

UsedRange を使用してコードを作成する

次のコードを使用します。

  1. まず、スプレッドシートを指定する必要があります。
  2. 次に、ピリオド (.) を入力し、「usedRange」と入力します。
  3. その後、使用するプロパティまたはメソッドを使用します。
  4. 最後に、コードを実行します。
 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

このコードを実行すると、セルの合計数と空のセルの数を示すメッセージ ボックスが表示されます。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です