エクセルを操作するうえで複数のワークシートを操作することもあると思います。
ワークシートの追加、削除、コピー、移動などVBAをつかったワークシートの操作方法についてご説明をします。
シートの参照
シートを参照する方法にもいくつかの種類がありますので、具体例をつかって確認をしておきましょう。
シート番号で参照する
ここでは「シート番号」としてご紹介をしていますが、正式には「インデックス番号」とよばれています。
「左から数えて何番目のワークシートか」といったことを表す番号です。
たとえば、こちらの場合はつぎのような考え方になります。
シート番号 | シート名 |
1 | Sheet1 |
2 | Sheet2 |
3 | Sheet3 |
4 | Sheet4 |
それでは具体的にみていきましょう。
「左から2番目」のワークシートを選択したいとき
このようなコードを書きます。
Sub sheet_no_select() Worksheets(2).Select End Sub
こちらが実行結果です。
左から2番目の「Sheet2」が選択されていますね。
シート名で参照する
シート名「Sheet3」を選択したいとき
このようなコードを書きます。
Sub sheet_name_select() Worksheets("Sheet3").Select End Sub
実行結果はこちらです。
シート名「Sheet3」が選択されています。
シートの追加|Add
シートを追加したいとき
このようなコードを記述します。
Sub sheet_add() Worksheets.Add End Sub
こちらが実行結果です。
ちなみにこちらは、「Sheet3」を選択した状態でマクロを実行した結果です。
シートの追加場所を指定したいときは引数をつかいます。
メソッド名 | 引数 |
Add | After |
Add | Before |
Add | Count |
たとえば、このようにコードを書きます。
「Sheet4」のうしろにシートを追加します。
Sub sheet_add_af() Worksheets.Add after:=Worksheets("Sheet4") End Sub
実行結果はこちら。
先ほどとはちがう場所にシートが追加されていることが確認できます。
ちなみに、「追加するシート数を指定」することもできます。
Sub sheet_add_cou() Worksheets.Add Count:=3 End Sub
実行前はこちら。
実行後がこちら。
シートが3つ追加されていることが確認できます。
シート名の変更|Name
シート名「Sheet5」を「シート集計」に変更したいとき
Sub sheet_chang_name() Worksheets("Sheet5").Name = "シート集計" End Sub
こちらが実行前です。
こちらが実行後です。
シートの削除|Delete
シート名「シート集計」を削除したいとき
Sub sheet_delete() Worksheets("シート集計").Delete End Sub
こちらが実行前です。
こちらが実行後です。
指定したシート名「シート集計」が削除されています。
シートのコピー|Copy
シート名「Sheet4」をコピーしたいとき
Sub sheet_copy_af() Worksheets("Sheet4").Copy after:=Worksheets("Sheet4") End Sub
こちらが実行前です。
実行後がこちらです。
シートの追加場所を指定したいときは引数をつかいます。
BeforeとAfterを同時に指定することはできません。
メソッド名 | 引数 | 内容 |
Copy | After | 指定したワークシートのうしろにコピーされる |
Copy | Before | 指定したワークシートのまえにコピーされる |
Copy | なし | 新規のエクセルでワークシートが作成される |
引数を省略した場合は、新しいワークブックが作成されます。
新しいExcelを開いてこちらのコードを実行します。
Sub sheet_copy() Worksheets("Sheet1").Copy End Sub
実行前がこちら。
実行後がこちら。
新しいExcelが開かれました。ファイル名が変わっていることが確認できますでしょうか。
シートの移動|Move
シート名「Sheet2」を移動させたいとき
Sub sheet_move() Worksheets("Sheet2").Move before:=Worksheets("Sheet1") End Sub
こちらが実行結果です。
「Sheet2」が「Sheet1」のまえに移動されていることが確認できます。
ワークシートの移動先は、引数をつかって指定します。
メソッド名 | 引数 | 内容 |
Move | Before | 指定したワークシートのまえに移動します。 |
Move | After | 指定したワークシートのうしろに移動します。 |
まとめ
シート操作についてよく使うものをまとめてご紹介しました。
セルの操作ほど使用頻度は高くないかと思いますが、ここでご紹介した基本的な使い方は理解しておいてください。
とは言えいまは、コードの書き方ではなく「マクロでもできるんだな」程度の覚え方で大丈夫です。
あとで見返せばなんとでもなります。