SpecialCells メソッドによるセル範囲の参照

タイトルのマクロは、以下です。

' SpecialCells メソッドによるセル範囲の参照
Private Sub SpecialCells_Range()
    With Sheet1.Range("B2").CurrentRegion
        ' 空白セルの範囲のアドレスを出力する
        Debug.Print .SpecialCells(xlCellTypeBlanks).Address
        ' 結果の例: $D$4,$C$5:$D$5
        ' 現在の連続したデータ範囲(CurrentRegion)の中で空白セルのアドレスを取得します。

        ' 最後のセルの範囲のアドレスを出力する
        Debug.Print .SpecialCells(xlCellTypeLastCell).Address
        ' 結果の例: $D$5
        ' 現在の連続したデータ範囲(CurrentRegion)の中で最終セルのアドレスを取得します。

        ' 定数値を持つセルの範囲のアドレスを出力する
        Debug.Print .SpecialCells(xlCellTypeConstants).Address
        ' 結果の例: $D$2:$D$3,$C$2:$C$4,$B$2:$B$5
        ' 現在の連続したデータ範囲(CurrentRegion)の中で定数(値)を持つセルのアドレスを取得します。

        ' 数値を持つセルの範囲のアドレスを出力する
        Debug.Print .SpecialCells(xlCellTypeConstants, xlNumbers).Address
        ' 結果の例: $C$3:$C$4
        ' 現在の連続したデータ範囲(CurrentRegion)の中で数値を持つセルのアドレスを取得します。
    End With
End Sub

コードの説明

  1. サブルーチンの宣言:
    • このサブルーチンは、SpecialCells メソッドを使用して特定の条件に一致するセル範囲を参照します。
  2. 現在の連続したセル範囲(CurrentRegion プロパティ):
    • セル B2 を含む連続したデータ範囲(CurrentRegion)に対して操作を行います。
  3. 空白セルの取得(SpecialCells(xlCellTypeBlanks):
    • SpecialCells(xlCellTypeBlanks) メソッドは、空白セルの範囲を返します。
    • 結果の例: $D$4,$C$5:$D$5
  4. 最終セルの取得(SpecialCells(xlCellTypeLastCell):
    • SpecialCells(xlCellTypeLastCell) メソッドは、範囲内の最終セルのアドレスを返します。
    • 結果の例: $D$5
  5. 定数値を持つセルの取得(SpecialCells(xlCellTypeConstants):
    • SpecialCells(xlCellTypeConstants) メソッドは、範囲内で定数(値)を持つセルのアドレスを返します。
    • 結果の例: $D$2:$D$3,$C$2:$C$4,$B$2:$B$5
  6. 数値を持つセルの取得(SpecialCells(xlCellTypeConstants, xlNumbers):
    • SpecialCells(xlCellTypeConstants, xlNumbers) メソッドは、範囲内で数値を持つセルのアドレスを返します。
    • 結果の例: $C$3:$C$4

実行結果の例

  • SpecialCells(xlCellTypeBlanks).Address の出力: $D$4,$C$5:$D$5
  • SpecialCells(xlCellTypeLastCell).Address の出力: $D$5
  • SpecialCells(xlCellTypeConstants).Address の出力: $D$2:$D$3,$C$2:$C$4,$B$2:$B$5
  • SpecialCells(xlCellTypeConstants, xlNumbers).Address の出力: $C$3:$C$4

このコードは、指定した範囲内で特定の条件に一致するセルの範囲を取得し、そのアドレスをデバッグ出力します。これにより、範囲内の空白セル、最終セル、定数値を持つセル、および数値を持つセルの位置を特定することができます。

Follow me!

Excel

前の記事

さまざまなセル範囲の参照