セルの参照 CurrentRegion
表全体を選択する時に、CurrentRegionを使います。
CurrentRegionは、指定したセルを含む表全体を選択します。
オブジェクト.CurrentRegion
CurrentRegionを使ったプログラムを作ってみます。
Sub セルの参照_CurrentRegion()
Range("E5").CurrentRegion.Select
End Sub
実行すると、"E5"を含む表全体が選択されました。
2007年11月
セルの参照 Offset
Offsetを使うと、セル範囲から指定した行数と列数分移動したセル範囲が得られます。
オブジェクト.Offset(行方向移動数,列方向移動数)
Offsetを使って点数を変更してみます。
Sub セルの参照_Offset()
With Range("D5")
.Offset(-1, 0).Value = 80 'しげっちの点数
.Offset(-1, 1).Value = 80
.Offset(-1, 2).Value = 80
.Offset(-1, 3).Value = 80
.Offset(0, 0).Value = 100 'えんどーくんの点数
.Offset(0, 1).Value = 100
.Offset(0, 2).Value = 100
.Offset(0, 3).Value = 100
.Offset(1, 0).Value = 10 'ロボたんの点数
.Offset(1, 1).Value = 10
.Offset(1, 2).Value = 10
.Offset(1, 3).Value = 10
End With
End Sub
行方向への移動数が負の場合は、上方向へ移動
列方向への移動数が負の場合は、左方向へ移動します。
省略すると「0」となり移動しません。
実行結果は、
3人の点数が変更されました。
2007年11月
セルの参照 End
Endを使うと、終端セルを取得することができます。
オブジェクト.End(方向)
方向は、
定数 |
方向 |
xlDown |
下端 |
xlUp |
上端 |
xlToLeft |
左端 |
xlToRight |
右端 |
Endを使ってセルを選択し、背景色を変えてみます。
Sub セルの参照_End()
Range("C4").End(xlDown).Select
Selection.Interior.ColorIndex = 35
Range("C4").End(xlToRight).Select
Selection.Interior.ColorIndex = 20
End Sub
実行結果は、
セルC4の下端の背景が35の色になり、右端が20の色になりました。
2007年11月
セルの参照 Endその2
表の中の名前をひとつ消してみます。
そして、最後の人の名前が入ったセルを選択しようと思い、こんなのを作ってみました。
Sub セルの参照_End2()
Range("C4").End(xlDown).Select
End Sub
選択されたのは、セル"C5"。
"C6"のデータがないので、"C4"の下端は"C5"になってしまった。
本当は、一番下にある"C7"のぷーちゃんを選びたかった...こういうときは
Sub セルの参照_End3()
Range("C65536").End(xlUp).Select
End Sub
シートの一番下にあるセル"C65536"から上方向に移動(xlUp)すると
最終行のデータが入っているセル"C7"が選択されます。
一番下の65536から上に行くって考えにちょっと感心。
そうすれば途中のデータがなかったり、消したりしてもいつも最終行のセル選べる。便利そうだ...
2007年11月