Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » Excel VBAでシートを先頭・一番左に移動したい

Excel VBAでシートを先頭・一番左に移動したい

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2212 ビルド15928.20216 Microsoft Store)

「Worksheet move senntou」
「VBA MOVE SHEETS 先頭」
「ワークシート 移動 Vba 一番左」
といった検索キーワードで時折アクセスがあります。

Excel VBAのWorksheetオブジェクトに用意されているMoveメソッドを使って

ワークシートを先頭・一番左に移動するには、どのようなコードを書けばいいのかを調べていた方による検索でしょう。

[スポンサードリンク]

アクティブシートを先頭・一番左に移動するサンプルマクロ

以下のExcelマクロを実行すると、アクティブシートが同じブックの先頭に移動します。

Sub アクティブシートを先頭に移動する()
 ActiveSheet.Move Before:=Sheets(1)
End Sub

Worksheet.Moveメソッドの引数Beforeに、

先頭のシートを表す式「Sheets(1)」を指定することで、Sheets(1)で取得できる先頭のシートの前(Before)に、ActiveSheetを移動(Move)できます。

末尾・一番右のシートを先頭・一番左に移動するサンプルマクロ

以下のExcelマクロを実行すると、末尾・一番右のシートが先頭に移動します。

Sub 末尾のシートを先頭に移動する()
 Dim cnt As Long
 cnt = Sheets.Count
 Sheets(cnt).Move Before:=Sheets(1)
End Sub

Long型の変数cntに、Sheets.Countで取得したシートの枚数を取得して、

Dim cnt As Long
cnt = Sheets.Count

「Sheets(cnt)」で取得できるシートを、Sheets(1)の前(Before)に移動(.Move)しています。

Sheets(cnt).Move Before:=Sheets(1)

変数を使わずに、

Sheets(Sheets.Count).Move Before:=Sheets(1)

と書いても同じ結果になります。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » Excel VBAでシートを先頭・一番左に移動したい

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.