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

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

  • 2019年3月15日
  • VBA
  • 21回
  • 0件
VBA NO IMAGE

①シートを移動・コピーする

指定したシートを同じブック内、または別のブックの指定した位置へ移動したり、コピーしたりするコードを紹介します。また、新しいブックを作成して、その中へシートを移動・コピーすることも可能です。

・シートを移動する

シートを表すオブジェクトのMoveメソッドで、ブック内でのシートの位置を移動することができます。引数BeforeまたはAfterに、移動したい位置の後または前に当たるシートのオブジェクトを指定します。

・実行結果

 

・新しいブックへ移動する

Moveメソッドの引数BeforeまたはAfterに、ほかのブックを表すWorkbookオブジェクトとその中のシートを表すオブジェクトを指定すると、別ブックの指定した位置にシートを移動することができます。引数を省略した場合は新しいブックが作成されてシートが移動します。

・シートをコピーする

WorksheetオブジェクトのCopyメソッドで、対象のシートを元の位置に残したまま、同じブック内かほかのブックにコピーすることができます。引数BeforeまたはAfterに、コピーしたい位置の後または前に当たるシートのオブジェクトを指定します。同じブック内の場合、同名のシートは複数存在できないので、自動的に末尾に「(2)」などが付きます。

・実行結果

 

・新しいブックにコピーする

Copyメソッドの引数BeforeまたはAfterに、ほかのブックを表すWorkbookオブジェクトとその中のシートを表すオブジェクトを指定すると、別のブックの指定した位置にシートをコピーすることができます。引数を省略した場合は、元のシートを残したまま、対象のシートだけを含む新しいブックが作成されます。

・実行結果

 

②シートを非表示にする

シートを非表示にすると、シート見出しからそのシート名が消え、隠すことができます。計算で利用する基礎データや、ほかの人に見せたくないデータを入力したワークシートなどは非表示にしておきましょう。

・シートを非表示にする

特定のシートをシート見出しから消すには、そのシートを表すオブジェクトのVisibleプロパティに定数xlSheetHiddenを指定します。またシートを再表示するには、対象シートを表すオブジェクトのVisibleプロパティに定数xlSheetVisibleを指定します。

・実行結果

・Excelの操作では再表示できなように隠す

Excelの通常操作でも、シートを非表示・再表示する操作は可能です。アクティブシートまたは選択している複数のシートは「ホーム」タブの「セル」グループの「書式」をクリックし「非表示/再表示」から「シートを表示しない」を選ぶと非表示にすることができます。また、非表示にしたシートを再表示するには、同様のダイアログボックスでシート名を選択して「OK」をクリックします。

特定のシートを隠す場合でも、上記の知識がある人には簡単に再表示されてしまいます。しかしVBAを使えば、Visibleプロパティに定数xlVeryHiddenを指定することで、「再表示」ダイアログボックスにも表示されない完全な非表示にすることが可能です。

・実行結果

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