Excel VBA の入門ということで
今回はシートを移動する方法を説明しますね。
エクセルデータを使用した業務改善の依頼をよく受けるんですけど
正直、そんなことで良いの?くらいのものでも、かなり感謝されます。
ちょっとVBA使えるだけでも、十分役に立つこともありますので
めげずに覚えていきましょう!
VBAでシートを移動する方法
以下に、シートを移動する方法をいくつか紹介します。
シートを指定シートの前に移動する
シートを指定シートの前に移動するには
WorksheetsコレクションのMoveメソッドを使います。
以下は、Sheet1という名前のシートをSheet2という名前のシートの前に移動します。
Worksheets("Sheet1").Move Before:=Worksheets("Sheet2")
以下は、Sheet1という名前のシートを3枚目のシートの前に移動します。
Worksheets("Sheet1").Move Before:=Worksheets(3)
以下は、現在アクティブなシートを5枚目のシートの前に移動します。
ActiveSheet.Move Before:=Worksheets(5)
シートを指定シートの後ろに移動する
以下は、Sheet1という名前のシートをSheet2という名前のシートの後ろに移動します。
Worksheets("Sheet1").Move After:=Worksheets("Sheet2")
シートを先頭に移動する
以下は、Sheet1という名前のシートを先頭に移動しています。
Worksheets("Sheet1").Move Before:=Worksheets(1)
シートを1番後ろに移動する
以下は、Sheet1という名前のシートを先頭に移動しています。
Worksheets.Count で、シート数を取得しています。
Worksheets("Sheet1").Move After:=Worksheets(Worksheets.Count)
まとめ
シートの移動は・・・私はあまり使わない気がしますけど
目的によっては必要になると思うので、とりあえず覚えましょう。
以下に上記で紹介したコードをまとめておきます。
コピペで使用する際などに活用下さいませ。
Worksheets("Sheet1").Move Before:=Worksheets("Sheet2")
Worksheets("Sheet1").Move Before:=Worksheets(3)
ActiveSheet.Move Before:=Worksheets(5)
Worksheets("Sheet1").Move After:=Worksheets("Sheet2")
Worksheets("Sheet1").Move Before:=Worksheets(1)
Worksheets("Sheet1").Move After:=Worksheets(Worksheets.Count)
関連するメソッド
関連するメソッドも覚えておくと便利ですよ。