- ベストアンサー
エクセルVBAでアクティブの意味
- エクセルVBAでの「アクティブ」とは、選択された範囲の中で白抜きされた(マウスカーソルでクリックされた)セルの状態を指します。
- 「選択」とは、単一または複数のセルをカーソルで選択する動作を指し、アクティブとの意味の違いがあります。
- アクティブと選択の違いは、操作上の有益な便益をもたらしていくことがあります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>>「選択」という概念(select)は、単一または複数のセルを、カーソルで選択したのと同じ動作と考えてよいでしょうか。 それでいいと思います。 セルに限定して言えば、selectは複数セルに跨る範囲であり、アクティブは単一のセルの指定です。 ただし >>操作上、有益な便益をもたらしていくことになるのか という点については「知らないより知っていた方がいいが、そもそもどちらもあまり使わない」という辺りに落ち着きます。 Activateについては、複数のシートやワークブックに跨るマクロを組む際にはよく使用します。 しかしSelectについては、ある程度上達してからは「使用しない方がいい」という類のものになってきます(勿論、一概には言えないのですが)。 なぜなら人間の操作と違い、マクロでの操作であれば「セルを選択する」という行為の意味がなくなるからです。 例えばA1セルを赤く塗る時、人間はまず「A1セルを選択(select)」「セルを赤く塗る」という2アクションになります。 しかしVBAで操作する場合、「A1セルを赤く塗る」という1アクションで済むため、そもそもselectを使わなくて済むのです。 http://officetanaka.net/excel/vba/speed/s2.htm よって「SelectとActivateの違い」に着目するよりも、「いかにSelectしない構文にするか」を考える方が余程有益です。 またそうした意識で使用していくと、自然とSelectの使いどころも身についてくると思います。
その他の回答 (3)
- unokwave
- ベストアンサー率58% (966/1654)
ActiveはSelectの集合に含まれるもので、同じか一部で、Activeは編集対象になっている単一のもので、Selectは編集対象ではないものも含み単一であったり複数であったりする。 Selectはシートかセル、Activeはセルとシートの他にExcelブックやウインドウを指すものもある。
お礼
ありがとうございます!
- kkkkkm
- ベストアンサー率66% (1719/2589)
.Activate と.Selectはセルの場合選択される範囲は同じですね。ただ、シートは複数のシートをSelectできますがActivateにはできません。 VBAでアクティブとセレクトを使う場合は SelectionとかActiveCell SelectedSheetsとかActiveSheet などのように現在選択されているセルやシート(どちらも複数個所含む)、アクティブなセルやシート(どちらも一か所)などオブジェクトを指定したいときに利用することが多いと思います。
お礼
ありがとうございます!
- skp026
- ベストアンサー率45% (1010/2238)
(とりいそぎの、ざっくり説明ですが、)Excelを手動操作した場合を例にご案内しますと、セルのSelectは範囲の指定です。複数セルを選択状態にします。Activeは先程範囲指定された領域で、白抜きになったセルです。以下、もう少し分かりやすく説明されていたり、サンプルコードもあります。 https://vbabeginner.net/vba%E3%81%AEselect%E3%81%A8activate%E3%81%AE%E9%81%95%E3%81%84/ 以上、参考にならなかったらごめんなさい。
お礼
ありがとうございます!
お礼
ありがとうございます!