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
コードの説明
- サブルーチンの宣言:
- このサブルーチンは、
SpecialCells
メソッドを使用して特定の条件に一致するセル範囲を参照します。
- このサブルーチンは、
- 現在の連続したセル範囲(
CurrentRegion
プロパティ):- セル
B2
を含む連続したデータ範囲(CurrentRegion
)に対して操作を行います。
- セル
- 空白セルの取得(
SpecialCells(xlCellTypeBlanks)
):SpecialCells(xlCellTypeBlanks)
メソッドは、空白セルの範囲を返します。- 結果の例:
$D$4,$C$5:$D$5
- 最終セルの取得(
SpecialCells(xlCellTypeLastCell)
):SpecialCells(xlCellTypeLastCell)
メソッドは、範囲内の最終セルのアドレスを返します。- 結果の例:
$D$5
- 定数値を持つセルの取得(
SpecialCells(xlCellTypeConstants)
):SpecialCells(xlCellTypeConstants)
メソッドは、範囲内で定数(値)を持つセルのアドレスを返します。- 結果の例:
$D$2:$D$3,$C$2:$C$4,$B$2:$B$5
- 数値を持つセルの取得(
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
このコードは、指定した範囲内で特定の条件に一致するセルの範囲を取得し、そのアドレスをデバッグ出力します。これにより、範囲内の空白セル、最終セル、定数値を持つセル、および数値を持つセルの位置を特定することができます。