2.2 ワークシート(Worksheetオブジェクト)
Worksheetオブジェクトはワークシートを表すオブジェクトです。このオブジェクトを使用しワークシート操作するには、Worksheetsプロパティ(コレクション)、ActiveWorksheetプロパティを使って行います。

なお、Worksheetsにはコレクションとプロパティの2種類があります。また、ワークシート以外のシートを扱うときはSheetsプロパティ(コレクション)を使います。(参照「2.3 その他のシートを扱う」)
Worksheetsコレクション
Worksheetsプロパティは、ワークブック内の全てのワークシート(Worksheetオブジェクト)が格納されているコレクションです。コレクションの中から必要なワークシートを指定するには、Worksheetsの引数へワークシートの番号や名前を指定します。

 図1:番号で指定する場合
Workbookオブジェクト.Worksheets(番号).プロパティやメソッド
Workbookオブジェクト
 Workbooks、ThisWorkbook、ActiveWorkbookを指定します。なお、Workbookオブジェクトは省略可能です。

番号
 ワークシートの番号(図3)を数値で指定します。

【記述例1】1番目のワークシートを最前面に表示(アクティブに)する
ThisWorkbook.Worksheets(1).Activate

 図2:ワークシート名で指定する場合
Workbookオブジェクト.Worksheets(ワークシート名).プロパティやメソッド
Workbookオブジェクト
 Workbooks、ThisWorkbook、ActiveWorkbookを指定します。なお、Workbookオブジェクトは省略可能です。

ワークシート名
 ワークシート名(図3)を文字列で指定します。

【記述例1】「Sheet1」を最前面に表示(アクティブに)する
ThisWorkbook.Worksheets("Sheet1").Activate

 図3:ワークシートの順番
 
 番号で指定するときは、一番左が1、あとは順番に2,3・・・。
 ワークシート名で指定するときはSheet1などの名前。
Worksheetsプロパティ
Worksheetsプロパティは、ワークブック内のワークシートの個数を参照する、ワークシートを追加・コピーするなど、ワークシート全体を扱うためのプロパティです。

 図3:ワークシート全体を操作する
Worksheets.プロパティやメソッド
【記述例1】ワークブック内にあるワークシートの個数を変数へ保存する
lngWorksheetCount = Worksheets.Count
ActiveSheetプロパティ
ActiveSheetプロパティは、現在最前面に表示されているワークシート(アクティブワークシート)を表すプロパティです。ワークシートが選択されているときはWorksheetオブジェクトを返しますが、グラフやExcel 4.0 マクロシートなど、ワークシート以外のシートが選択されているときは、選択しているシートのオブジェクトを返します。

このプロパティは、複数のシートがある中からとにかく最前面に表示されているシートを操作したいときに使用します。

 図4:ActiveSheetプロパティ
Workbookオブジェクト.ActiveSheet.プロパティやメソッド
Workbookオブジェクト
 Workbooks、ThisWorkbook、ActiveWorkbookを指定します。なお、Workbookオブジェクトは省略可能です。

【記述例1】最前面に表示されているシートの名前を変数に保存する
strSheetName = ActiveSheet.Name
Workbookオブジェクトを省略したとき
Worksheetsプロパティ、ActiveSheetプロパティでは、Workbookオブジェクトを省略することができます。ただし、マクロを記述した場所によって参照するWorkbookオブジェクトが異なることに注意してください。

 図5:Workbookオブジェクトを省略したとき
1.シートへ記述したとき
 記述したワークブックのWorkbookオブジェクトを参照します。

2.ThisWorkbookへ記述したとき
 記述したワークブックのWorkbookオブジェクトを参照します。

3.標準モジュール、クラスモジュール、ユーザーフォームへ記述したとき
 最前面に表示されているワークブックのWorkbookオブジェクトを参照します。
Copyright(C) 1999-2006 結城圭介。 All rights reserved