サイトについて      連絡先   検索

VBA シートを選択またはアクティブにする

はじめに

Excel VBA マクロのシートを選択またはアクティブにする方法を紹介します。

Sheets.Select メソッドまたは Worksheets.Select メソッドでシートを選択できます。

Sheets.Activate メソッドまたは Worksheets.Activate メソッドでシートをアクティブにできます。

  • 目次
    • シートを選択する
    • 複数のシートを選択する

シートを選択する

sheet1

インデックスで選択

Sheets の引数にインデックスを指定すると、そのシートを選択できます。

1 番目のシートを選択するにはSheets(1).SelectまたはWorksheets(1).Selectを入力します。1 番左のシートが 1 です。


Sheets(1).Select     ' 1 番目のシートを選択
Worksheets(1).Select ' 1 番目のシートを選択

Sheets と Worksheets の違いはワークシート以外を取得するかどうかです。

シート名で選択

Sheets の引数に名前を指定すると、そのシートを選択できます。

シート名「Sheet1」のシートを選択するにはSheets("Sheet1").SelectまたはWorksheets("Sheet1").Selectを入力します。


Sheets("Sheet1").Select     ' 「Sheet1」のシートを選択
Worksheets("Sheet1").Select ' 「Sheet1」のシートを選択

指定したシートが存在しないときは「エラー 9 インデックスが有効範囲にありません。」が発生します。

アクティブ

シートをアクティブにするにはSheets(1).ActivateまたはWorksheets("Sheet1").Activateのように入力します。


Sheets(1).Activate            ' 1 番目のシートをアクティブ
Worksheets("Sheet1").Activate ' 「Sheet1」のシートをアクティブ

範囲選択しているシートの中から選択するとき、Select は選択範囲がそのシートになるのに対して、Activate は選択範囲を維持したまま指定したシートがアクティブになります。

複数のシートを選択する

1 番目と 2 番目のシートを選択するにはSheets(Array(1, 2)).SelectまたはSheets(Array("Sheet1", "Sheet2")).Selectのように入力します。


Sheets(Array(1, 2)).Select               ' 1 番目と 2 番目のシートを選択
Sheets(Array("Sheet1", "Sheet2")).Select ' 「Sheet1」と「Sheet2」のシートを選択

Worksheets(Array(1, 2)).Select               ' 1 番目と 2 番目のシートを選択
Worksheets(Array("Sheet1", "Sheet2")).Select ' 「Sheet1」と「Sheet2」のシートを選択
sheet12

引数に配列でインデックスやシート名を指定します。

すべてのシートを選択

すべてのシートを選択するにはSheets.SelectまたはWorksheets.Selectを入力します。


Sheets.Select
Worksheets.Select
  • 目次
    • シートを選択する
    • 複数のシートを選択する