シートとブック

シートの参照と選択の方法

 一つのブックに一つあるいは複数のシートが存在します。
シートはいわば「大きなキャンバス」みたいなものという人もいます。

 そしてそのシートにはいろいろな機能があります。
ここでは基本的なものについて解説します。

シートを参照するには

 Excelには ワークシート、グラフシートなどの複数の種類のシートが存在します。 

 そしてブック内のすべてのシートは、Worksheetsオブジェクトとして、Worksheetsコレクションに格納されています。

※「コレクション」とは同じ種類の複数のオブジェクトの集まりのことです。

 このコレクションの中から必要なシートを参照するには、Worksheetsの引数としてインデックス番号やワークシート名を指定します。

上記の場合は「Sheet1」「Sheet2」「Sheet3」の3つのシートがあります。

現在は「Sheet1」がアクティブになっています。

Sub shtact()

     Sheets(“Sheet2”).Activate

End Sub

シート名(”Sheet2″)を引数にして指定しています。

これにより、Sheet2 がアクティブ状態になります。

シートは必ずしも Sheet1  Sheet2  Sheet3 ・・・と順番に並んでいるとは限りません。

このシートの選択を下記のように変更することができます。

Sub STsentaku()

 Sheets(3).Activate

End Sub

このように数字(インデックス番号)で指定した場合は、左から3番目のシート(上記の場合 Sheet4 がアクティブ状態となります。

インデックスを使っての指定は、その時アクティブ状態がどのシートであれ、必ず左から1 ・2・3・・・の順番に割り振られます。

 以上、「シート名」や「インデックス番号」を指定することにより、ワークシートを個別に参照することができます。

シートを選択するには

 Activateメソッドはシートを一つ選択します。

 これに対し Selectメソッド は複数のシートを選択できます。

 引数 Replaceは、既に選択しているシートの選択を解除するか否かを指定します。

Sub STsentaku()

 Worksheets(2).Select

 Range(“B33”) = ActiveSheet.Name

End Sub

Sub STsentaku2()

  Worksheets(3).Select

  Worksheets(1).Select Replace:=False

End Sub

Sheet3 が選択され、続いて Sheet1 も選択されています。

Sub STsentaku2()

  Worksheets(3).Select

  Worksheets(1).Select Replace:=True

End Sub

一旦 Sheet3 が選択された後、Sheet1 のみが選択されます。

シートの数を数えるには

 ワークシートの数を数えるには、Worksheetsコレクションを指定して、「Countプロパティ」を使用します。

Sub STkazu()

  MsgBox “シートの数は” & Worksheets.Count

End Sub

Sub STkazu()

  Worksheets(2).Select ‘①

  Worksheets(4).Select Replace:=False ‘②

  Worksheets(5).Select Replace:=False ‘③

‘④

  MsgBox “選択したシートの総数は ” & ActiveWindow.SelectedSheets.Count

 End Sub

① 2番目のシートを選択

② 4番目のシートも Replace を False にして同時選択

③ 5番目のシートも同様に同時選択

④ 以上の状態でシートの数を数える

シートの追加と削除の方法  Worksheetsコレクションを対象に、シートを新たに追加する方法、および指定したシートを削除する方法をVBAでどう表していくかを...