ExcelマクロVBA入門
第55回.Worksheetオブジェクト

ExcelマクロVBAの基本と応用、エクセルVBAの初級・初心者向け解説
最終更新日:2019-09-18

第55回.Worksheetオブジェクト


Worksheetオブジェクトは、ワークシートそのものです。
エクセルのマクロVBAですから、ワークシートはしっかりと扱えなければなりません。


WorkSheetオブジェクトの集まりがWorkSheetsコレクションになります。
つまり、
WorkSheetオブジェクトは、WorkSheetsコレクションのメンバーだということです。

WorkSheetオブジェクトの指定方法

Worksheets(インデックス)
インデックスで指定されるワークシート
Worksheets("シート名")
シート名で指定されるワークシート
Activesheet
アクティブなシート

※Activesheetは、正確にはワークシートオブジェクトではありません、詳細は後述。
これらが、Worksheetオブジェクトになります。

Worksheetsコレクションの中から、特定のシートを指定したものが、Worksheetオブジェクトになります。


Worksheetオブジェクトデータ型

Worksheet
つまり、
Dim 変数 As Worksheet
のように使います。
気を付けてもらいたいのは、
Worksheets
ではないと言う事です。
Worksheetsは、Worksheetの集まりで、コレクションと言います。
コレクションについては、後々説明いたします。

WorkSheetのプロパティとメソッド

このオブジェクトに含まれる、プロパティ・メソッドは、非常に沢山あります。
WorkSheetのプロパティ、メソッド、イベントの一覧
エクセルの基本である、WorkSheetオブジェクトのプロパティメソッド、イベントの一覧です。覚えるというより、必要に応じて調べて使うものになります。WorkSheetオブジェクトのプロパティ一覧 WorkSheetオブジェクトのメソッド一覧 名前 説明 Activate 指定されたシートをアクティブにします。
ごく一部、良く使うものを紹介します。

プロパティ Name 名前
Names 名前定義
Cells Rangeオブジェクト
Range Rangeオブジェクト
Columns Rangeオブジェクト
Rows Rangeオブジェクト
FilterMode フィルタ モード
Hyperlinks ハイパーリンク
PageSetup ページ設定
ScrollArea スクロールが可能な領域
Shapes すべての図形
Visible 表示するかどうか
メソッド Activate アクティブ
Select 選択
Copy コピー
Move 移動
Paste 貼り付け
PasteSpecial 形式を選択して貼り付け
AutoFilter フィルター
PivotTables ピボットテーブル
PrintOut 印刷
PrintPreview 印刷プレビュー
Protect 保護
Unprotect 保護解除

今までに出てきたのは、Activate、Select、Range関連くらいです。
個々のプロパティ・メソッドの使い方については、今後少しづつ紹介します。

Worksheetオブジェクトの使用方法



Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
MsgBox ws.Name

メッセージボックスには、「Sheet1」と表示されます。
Worksheetの集まりWorksheetsの中から、"Sheet1"を指定し、
その参照を、オブジェクト変数、wsに入れています。

Activesheet、Sheetsコレクションについて

Sheetオブジェクトというものはありません
Sheetsコレクションには、そのブックの全てのシートが入っています。
ですから、Activesheetもワークシートとは限りません。
シートには、ワークシート・グラフ等々の種類があります。

マクロ VBA worksheet

従って、Sheetsコレクションは、ワークシート以外のシートも含まれていますし、
Activesheetも、ワークシート以外のシートの事もあります。
この為、ActivesheetSheets()で参照されるデータ型は、Objectになっています。
従って、グラフシートが存在するブックでは、
Sheets.CountとWorksheets.Countの数は一致しません。


グラフシートを使う事はあまりないと思いますので、
WorkSheetsとSheetsの違いを取り立てて意識する必要はほとんどありません。
まずは、WorksheetとWorkSheetsの使い方について慣れれば良いでしょう。




同じテーマ「マクロVBA入門」の記事

第52回.オブジェクト変数とSetステートメント
第53回.Workbookオブジェクト
第54回.Windowsオブジェクト
第55回.Worksheetオブジェクト
第56回.Rangeオブジェクト(RangeとCells)
第57回.Applicationのプロパティ(マクロ高速化と警告停止等)
第58回.コレクションとは(Collection)
第59回.コレクション処理(For Each)
第60回.エラー処理(On Error)
第61回.「On Error GoTo」と「Exit Sub」
第62回.「On Error Resume Next」とErrオブジェクト


新着記事NEW ・・・新着記事一覧を見る

VBAにおける変数のメモリアドレスについて|VBA技術解説(11月8日)
空文字列の扱い方と処理速度について(""とvbNullString)|VBA技術解説(1月7日)
Errオブジェクトとユーザー定義エラー|VBA入門(11月5日)
シングルクォートの削除とコピー(PrefixCharacter)|VBA技術解説(11月4日)
ユーザー定義型の制限とクラスとの使い分け|VBA技術解説(11月3日)
クリップボードに2次元配列を作成してシートに貼り付ける|VBA技術解説(11月1日)
VBAクラスを使ったイベント作成(Event,RaiseEvent,WithEvents)|VBA技術解説(10月31日)
VBAクラスのAttributeについて(既定メンバーとFor Each)|VBA技術解説(10月19日)
VBAの用語について:ステートメントとは|VBA技術解説(10月16日)
VBAのマルチステートメント(複数のステートメントを同じ行に)|VBA技術解説(10月14日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数宣言のDimとデータ型|ExcelマクロVBA入門
6.繰り返し処理(For Next)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.ひらがな⇔カタカナの変換|エクセル基本操作
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.セルに文字を入れるとは(Range,Value)|VBA入門



  • >
  • >
  • >
  • Worksheetオブジェクト

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。




    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
    本文下部へ