エクセルを操作するうえで複数のワークシートを操作することもあると思います。
ワークシートの追加、削除、コピー、移動など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 | 指定したワークシートのうしろに移動します。 |
まとめ
シート操作についてよく使うものをまとめてご紹介しました。
セルの操作ほど使用頻度は高くないかと思いますが、ここでご紹介した基本的な使い方は理解しておいてください。
とは言えいまは、コードの書き方ではなく「マクロでもできるんだな」程度の覚え方で大丈夫です。
あとで見返せばなんとでもなります。