シートのアクティブとセレクトの違い
以下のVBAサブルーチン Sheets_Activate_Select
は、Excelのシートのアクティブ化と選択の違いをデモンストレーションします。
' シートのアクティブとセレクトの違い
Sub Sheets_Activate_Select()
Sheet1.Select ' Sheet1 を選択します。
Sheet2.Select Replace:=False ' Sheet2 を選択し、Sheet1 も選択された状態にします。
Sheet3.Activate ' Sheet3 をアクティブにし、Sheet1 と Sheet2 の選択を解除します。
Sheet2.Select Replace:=False ' Sheet2 を再度選択し、Sheet3 もアクティブな状態にします。
ThisWorkbook.Sheets.Select ' すべてのシートを選択します。
Sheet3.Activate ' Sheet3 をアクティブにし、他のシートの選択を解除します。
ThisWorkbook.Sheets(Array(1, 2)).Select ' Sheet1 と Sheet2 を選択します。
End Sub
詳細な説明
Sheet1.Select
- シート
Sheet1
を選択します。選択されたシートはアクティブシートになります。
- シート
Sheet2.Select Replace:=False
- シート
Sheet2
を選択し、Sheet1
も選択された状態を維持します。Replace:=False
により、現在の選択を解除せずにシートを追加で選択します。
- シート
Sheet3.Activate
- シート
Sheet3
をアクティブにします。アクティブシートはシングルであり、この操作はSheet1
とSheet2
の選択を解除します。
- シート
Sheet2.Select Replace:=False
- シート
Sheet2
を再度選択し、Sheet3
もアクティブな状態にします。
- シート
ThisWorkbook.Sheets.Select
- 現在のブック内のすべてのシートを選択します。選択されたすべてのシートは選択状態にありますが、最初に選択されたシートがアクティブシートになります。
Sheet3.Activate
- シート
Sheet3
をアクティブにし、他のすべてのシートの選択を解除します。
- シート
ThisWorkbook.Sheets(Array(1, 2)).Select
Sheet1
とSheet2
を選択します。Array(1, 2)
はシートのインデックスを指定しています。
シートのアクティブ化と選択の違い
- Select
Select
メソッドは、シートを選択します。複数のシートを選択することができ、選択されたシートの中で最初に選択されたシートがアクティブシートとなります。Replace:=False
を使用することで、既存の選択を保持しつつ新たなシートを選択することができます。
- Activate
Activate
メソッドは、特定のシートをアクティブにします。アクティブシートは一度に1つしか存在できず、アクティブシートを変更すると他のシートの選択が解除されます。
この違いを理解することで、複数のシートを操作する際に適切な方法を選択することができます。