注目キーワード
  1. VBA
  2. 関数
  3. ショートカット

シートやブックの指定・操作方法を知ろう!①

  • 2019年3月15日
  • VBA
  • 114回
  • 1件
VBA NO IMAGE

①3種類のシートコレクション

Excelのシートにはいくつか種類がありますが、一般的に使われているのは、「ワークシート」と「グラフシート」の2種類です。下記では、この2種類のシートと、シートをまとめて取り扱うための3種類のコレクションの取得方法を紹介します。

・ブック内の全シートを取得する

作業中のブック内のすべてのシートの集合は、Sheetsプロパティで、Sheetsコレクションとして取得できます。次の例では、コレクションに含まれるオブジェクトの数を返すCountプロパティでブック内のシートの数を求めて、メッセージボックスで表示します。

・実行結果

 

・すべてのワークシートの集合を取得する

作業中のブックのすべてのワークシートは、Worksheetsプロパティで、Worksheetsコレクションとして取得できます。次の例ではWorksheetsコレクションのCountプロパティでワークシートの数を求めて、メッセージボックスで表示します。

・実行結果

 

・すべてのグラフシートの集合を取得する

作業中のブックのすべてのグラフシートは、Chartsプロパティで、Chartsコレクションとして取得できます。次の例では、ChartsコレクションのCountプロパティでブックに含まれるグラフシートの数を求めて、メッセージボックスで表示します。

・実行結果

 

②2種類のシートの指定方法

コレクションから単体のシートのオブジェクトを取り出すには、コレクションにインデックスを指定して取得します。ワークシートやグラフシートを表すインデックスには、シート見出しの左から並び順の数値、またはシート名の文字列を指定します。

・シートの種類を調べる

作業中のブックに含まれているすべてのシートの中で、シートの見出しから左から3番目の位置に表示されているシートをWorksheetオブジェクトまたはChartオブジェクトとして取得するには、Sheetsコレクションにインデックスとして「3」を指定します。次の例では、データ型を返すTypeName関数で、取得したオブジェクトの種類を求めて、メッセージボックスに表示します。

・実行結果

 

・他シートのセルの値を調べる

シートの集合を表すコレクションに、インデックスとしてシート名を指定し、特定のシートを表すオブジェクトを取得することもできます。

・実行結果

 

 

 

 

 

 

 

・特定のグラフシートの名前を調べる

次の例では、Chartsコレクションのインデックスに「2」を指定して、左から2番目のグラフシートを表すChartオブジェクトを取得し、Nameプロパティでシート名を取り出して、メッセージボックスに表示します。

・実行結果

 

③アクティブシートを指定する

ブックに含まれるシートのうち、画面に表示して現在作業を行っているシートのことを「アクティブシート」といいます。下記では、アクティブシートを表すオブジェクトの取得方法と取得したオブジェクトに対する操作の例を紹介します。

・アクティブシートの名前を表示する

ActiveSheetプロパティを使うと、作業中のブックのアクティブシートを表すWorksheetオブジェクトを取得することができます。次の例ではNameプロパティでアクティブシート名を調べて、メッセージボックスに表示します。

・実行結果

 

・選択しているシートの数を調べる

Excelでは[shift]キーや[Ctrl]キーを押しながらシート見出しをクリックしていくことで、複数のシートを同時に選択することができます。この複数選択した状態を「作業グループ」といいます。ActiveWindowプロパティで、作業中の文書ウィンドウを表すWindowプロパティが取得でき、そのSelectionSheetsプロパティで選択されているシートの集合を、Sheetsコレクションとして取得することができます。

・実行結果

NO IMAGE
最新情報をチェックしよう!