2023年3月8日【ID:0】
【ExcelVBA】ActivateとSelectの違い
VBAの以下の違いについて解説していきます。
Range("A1").Select
Range("A1").Activate
Worksheets("Sheet1").Select
Worksheets("Sheet1").Activate
答えから言うと、単体のセルに対して行う場合は大きな違いはありません。
ただ、複数のセルやシートを選択している場合は、この2つの違いを意識する必要があります。
複数のセルを選択すると、以下のように、白い箇所とグレーの箇所が出てくると思います。
この選択範囲内の白いセルが、アクティブセルで、グレーのセルが、ただ選択されているセルになります。
シートの場合は、選択されているシート全体が白くなります。
しかし、表示されているシートは、選択されているシートのどれか1つかと思います。
以下の場合は、Sheet1が表示されています。
この表示されているシートがアクティブシートになります。
なので、複数選択の際にActivateかSelectかの違いが重要になります。
動作の違いをセルとシートに関してそれぞれ載せておきます。
●セルの場合
●シートの場合
補足
ちなみに複数のシートを選択する場合は、以下のように記述します。
Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
// Sheet1,Sheet2,Sheet3はシート名