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

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

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

①シートをアクティブにする

Excelの作業で、操作したいシートのシート見出しをクリックしてアクティブシートにすることを「シートをアクティブにする」といいます。VBAで特定のワークシートまたはグラフシートをアクティブにする操作を紹介します。

・特定のワークシートをアクティブにする

ブック内になるワークシートのうち、シートの見出しに左から3番目にあるシートをアクティブにしてみましょう。Worksheetsコレクションに、インデックスとして「3」を指定してWorksheetオブジェクトを取得し、Activeメソッドを実行します。

・実行結果

 

・複数のシートを選択する

シートをアクティブにする操作はWorksheetオブジェクトまたはChartオブジェクトのSelectメソッドでも実行できます。Selectメソッドを使うと、現在のシートを選択している現状のまま別のシートを追加選択して、作業グループをつくることも可能です。シートを追加選択するには、Selectメソッドの引数ReplaceにFalseを指定します。

・実行結果

 

②シート名を変更する

特定のワークシートやグラフシートの名前を変更するコードを紹介します。なお1つのブックの中に同じ名前のシートを複数作成することはできないため、指定したシート名によってはエラーが発生する場合があります。

・特定のワークシートの名前を変更する

ブック内になるワークシートのうち、シートの見出しから左から2番目にあるシートの名前を「商品リスト」に変更します。Worksheetオブジェクトを取得し、そのNameプロパティに文字列を指定します。

・実行結果

 

・重複する名前を指定した場合

1つのブック内に作成したシートには、ワークシート、グラフシートを問わず、同じ名前を付けることはできません。既存のシートと同じ名前を設定しようとすると「実行時エラー」になります。

 

・現在のシート名に文字を追加する

現在のシート名に文字を追加する形で、新しいシート名を設定します。WorksheetオブジェクトまたはChartオブジェクトの名前をNameプロパティで取得して、文字列を追加して同じオブジェクトのNameプロパティに設定します。

・実行結果

 

・現在のシート名の一部を置換する

指定したシート名の一部の文字列を別の文字列に置換し、改めてシート名として設定します。文字列の置換はVBAのReplace関数を使って行います。この関数は第一引数に指定した文字列を対象に第二引数の文字列を検索し、第三引数の文字列に置換します。

・実行結果

 

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