Excel VBAで選択されているセルを参照するActveCellとSelectionの違いを調査

ActveCellとは、選択されている1つのセルを参照するプロパティです。Selectionとは、選択されている複数のセル範囲を参照するプロパティです。ここではその違いをVBAで確認してみます。




Homeに戻る > Excel セルのTipsへ

単一セルでActveCellとSelectionの違いを調査

単一セルを選択し、そのセル番地を表示するVBAです。
単一セルを選択し、そのセル番地を表示する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です。
セル範囲を選択し、そのセル番地を表示する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は単一のセルを参照できるのが分かります。
Selectionはセル範囲をActveCellは左上にセルのみを返す

Homeに戻る > Excel セルのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved