}); ExcelVBAでは、WorksheetsコレクションからWorksheetオブジェクトを取得し操作することができます。, この記事では、WorksheetsコレクションからWorksheetオブジェクトを取得し操作する方法についてWorksheetオブジェクトとは何かやWorksheetオブジェクトで出来ること一覧、Worksheetオブジェクトを取得する方法といった基本的な内容から, など応用的な使い方についても解説していきます。ワークシートをコピーする方法を使用することで書類の作成を効率的に行うことができます。例えば、全てのワークシートの元となるテンプレートを用意しておき、コピーして各ワークシートを作成するといった具合です。, 次の画像は、Excelで空のブックを作成したときのものです。(※説明のために、赤枠や青矢印を追加しています。), 画面下部に表示されているものがワークシートの見出しです。ワークシートの本体は、赤枠で囲まれた部分です。このワークシートをExcelVBAでは、Worksheetオブジェクトとして扱っています。, 先ほどはWorksheetオブジェクトについて説明しました。これによく似た用語でWorksheetsというものがあります。Excelではワークシートのほかにも、いろいろなシートがあります。, VBAでは、シートはSheetオブジェクトとして扱います。そのSheetオブジェクトの集合体がSheetsコレクションです。同じように、VBAではワークシートをWorksheetオブジェクトとして扱います。, そして、Worksheetオブジェクトの集合体がWorksheetsコレクションです。, Worksheetオブジェクトにはイベント、メソッド、プロパティがあります。これらを使ってVBAでワークシートを操作します。イベント、メソッド、プロパティについて解説し、それぞれ代表的なものを表にまとています。, Worksheetオブジェクトを取得するためには、を使用します。Worksheetsコレクションには、見出しの順番でWorksheetオブジェクトが割り当てられます。, 例えば、次の画像のような場合はSheet2, Sheet1, Sheet3の順番になります。, WorksheetsコレクションからWorksheetオブジェクトを取得するためには、次のように2通りの方法があります。, インデックス番号を指定してWorksheetオブジェクトを取得するためには、次のように記述します。, 次のサンプルコードでは、1番目のワークシートを取得するためにSet ws = Worksheets(1)としています。, 確認のため、取得したワークシートの名前をメッセージボックスで表示しています。WorksheetオブジェクトのNameプロパティを使ってワークシートの名前を取得しています。, ワークシート名を指定してWorksheetオブジェクトを取得するためには、次のように記述します。, 次のサンプルコードでは、Sheet2を取得するためにSet ws = Worksheets("Sheet2")としています。, 確認のため、取得したワークシートの名前をメッセージボックスで表示しています。WorksheetオブジェクトのNameプロパティを使ってワークシートの名前を取得しています。実行結果の画像からSheet2を取得できていることが確認できます。, アクティブシートを切り替えるにはActivateメソッドを使います。サンプルコードで確認しましょう。, WorksheetオブジェクトのActivateメソッドでアクティブシートを切り替えて、Nameプロパティでアクティブシートの名前を取得しています。, 例えば、次のようなテンプレートとなるワークシートをコピーして書類を作成したいとします。, テンプレートとなるワークシートを取得するためにSet ws = Worksheets("テンプレート")としています。このサンプルコードでは、ws.Copy Before:=wsとして、Beforeパラメータを指定することでテンプレートの前にコピーを作成しています。, 同様にワークシートの後ろにコピーするためのAfterパラメータも用意されています。実行結果からワークシートがコピーされていることが確認できます。さらに、コピーしたシートの名前を変更したいことがあります。, コピー時にアクティブシートが切り替わることを利用し、ActiveSheet.Name = "シート"とすることでコピーしたワークシートの名前を変更しています。ワークシートの名前を変更するために、WorksheetオブジェクトのNameプロパティで値を変更しています。, 実行結果の画像からシート見出しに表示されるワークシートの名前が変更されていることを確認できます。, ApplicationオブジェクトのWorksheetFunctionプロパティというものがあります。Worksheetオブジェクトと呼び名が似ていますが、Worksheetオブジェクトを操作するものではありません。, WorksheetFunctionプロパティはVBAからワークシート関数を呼び出す場合に使います。ワークシート関数とはExcelシート上のセルに入力する関数のことです。, WorksheetFunctionプロパティの使い方については、こちらで詳しく解説していますので、ぜひ参考にしてください。, いかがでしたか?今回は、ExcelVBAでWorksheetsからWorksheetオブジェクトを取得し、操作する方法について解説しました。テンプレートとなるワークシートをコピーして、新しいワークシートを作成することで書類作成を効率化することができますね。, もし、ExcelVBAでWorksheetsからWorksheetオブジェクトを取得し、操作することがあればこの記事を思い出してみてください!。, 当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。 ‚é, ŒÂl—pƒ}ƒNƒƒuƒbƒN‚ɍì‚Á‚½ƒf[ƒ^‚̓ǂݍž‚Ý•û–@, ƒI[ƒgƒ[ƒVƒ‡ƒ“ƒGƒ‰[‰ñ”ð‚µ‚½‚¢i“Y•t‚o‚c‚eŒÜ–‡ˆÈã‚É‚È‚é‚ƃGƒ‰[j, ƒtƒ@ƒCƒ‹Žg—p’†‚̃tƒHƒ‹ƒ_–¼•ÒW•s‰Â–hŽ~•û–@. google_ad_height = 90; //-->. 整数型 × 整数型」にしてやればいいです。こんなときに使うのがCLng関数です。,