動作検証バージョン: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
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
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)
と書いても同じ結果になります。
[スポンサードリンク]
- Newer:OpenPyXLを使って折り返して全体を表示する
- Older:OpenPyXLでセルの罫線を消すには?
Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » Excel VBAでシートを先頭・一番左に移動したい