教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について説明していきます。

【ExcelVBA シート操作】複数のシートを選択(Select)にするにはどうすればいいの?教えて!

       f:id:m_kbou:20200418162549p:plain

複数のシートを選択する方法について説明します。複数のシートを同時に選択する場合は、Array関数を使用して選択するシートを配列で指定します。

 

【目次】

 

構文

記述方法は、以下の通りとなります。

=======================================================================

Sheets(Array(”[シート名]”,”[シート名]”)).Select

Sheets(Array([インデックス番号][インデックス番号])).Select

=======================================================================

[説明]:

複数のシートを選択したい場合はArray関数を使用し、

 ・Sheets(Array(”[シート名]”,”[シート名]”)).Select

 ・Sheets(Array([インデックス番号][インデックス番号])).Select

のいずれかで記述します。
記述の方法として、[シート名]で指定する場合はシート名を記述し「”」(ダブルクォーテーション)で囲みます。また、[インデックス番号]で指定する場合は数値で記述します。[インデックス番号]は、左から何番目のシートであるかで記述します。内容を纏めると、「[シート名]又は[インデックス番号]で指定した複数シートを選択して下さい。」との意味になります。

[記述例]:

Sheets(Array("Sheet2", "Sheet3")).Select
Sheets(Array(2, 3)).Select

 

使い方

使い方について、具体的に説明していきます。

Array関数を使用したシート名を指定する場合の記述方法

シート名を指定する場合の記述方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Sheets(Array("Sheet2", "Sheet3")).Select
End Sub

-------------------------------------------------

内容は、「Sheet2及びSheet3シートを選択して下さい。」との意味になります。

[実行例]:

(実行前)

Sheet1が選択されています。

f:id:m_kbou:20191211112552p:plain

(実行後)

Sheet2及びSheet3が選択されました。

f:id:m_kbou:20191211112608p:plain

シート名を指定する場合の記述方法についての説明は以上です。

 

Array関数を使用してインデックス番号を指定する場合の記述方法

インデックス番号を指定する場合の記述方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Sheets(Array(2, 3)).Select
End Sub

-------------------------------------------------

内容は、「Sheet2及びSheet3シートを選択して下さい。」との意味になります。
※左から2番目と3番目のシートを選択する為、インデックス番号は2と3になります。

[実行例]:

(実行前)

Sheet1が選択されています。

f:id:m_kbou:20191211112552p:plain

(実行後)

Sheet2及びSheet3が選択されました。

f:id:m_kbou:20191211112608p:plain

インデックス番号を指定する場合の記述方法についての説明は以上です。

 

おわりに

今回は複数のシートを選択する方法について説明しました。上記の説明では、シート名で指定した場合とインデックス番号で指定した場合とで同じ結果となる様に記述してみました。また、類似の内容としてブック内の全てのシートを選択する方法もあります。是非こちらも参考にしてみて下さい。