単一セルでActveCellとSelectionの違いを調査
単一セルを選択し、そのセル番地を表示するVBAです。
・SelectでB2セルを選択します。
・MsgBoxを使い、Selection.AddressとActiveCell.Addressで選択されているセル番地をそれぞれ表示します。
Sub MySelect()
Range("B2").Select
MsgBox "Selection: " & Selection.Address & vbCrLf & _
"ActiveCell: " & ActiveCell.Address
End Sub
実行結果のシートです。
どちらも同じく「$B$2」と表示されていて違いはありません。
複数のセル範囲でActveCellとSelectionの違いを調査
セル範囲を選択し、そのセル番地を表示するVBAです。
・SelectでB2:D4のセル範囲を選択します。
・MsgBoxを使い、Selection.AddressとActiveCell.Addressで選択されているセル番地をそれぞれ表示します。
Sub MySelect()
Range("B2:D4").Select
MsgBox "Selection: " & Selection.Address & vbCrLf & _
"ActiveCell: " & ActiveCell.Address
End Sub
実行結果のシートです。
Selectionが「$B$2:$D$4」とセル範囲を返しているのに対し、ActveCellは「$B$2」と左上にセルのみを返しています。
このようにSelectionはセル範囲を、ActiveCellは単一のセルを参照できるのが分かります。