シートの Copy メソッド、 Move メソッド、 Delete メソッド
タイトルのマクロは、以下です。
' シートの Copy メソッド、 Move メソッド、 Delete メソッド
Private Sub Sheet_Copy_Move_Delete()
' Sheet1 を、右端にコピー
Sheet1.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
' そのシートを、Sheet1 の左に移動
ActiveSheet.Move before:=Sheet1
' DisplayAlertsを無効にする(確認ダイアログを非表示にする)
Application.DisplayAlerts = False
' Sheet1 を削除。
' Delete メソッドの実行時に表示される注意を促すメッセージダイヤログを
' 表示させないように、DisplayAlertsプロパティを使用
Sheet1.Delete
' DisplayAlertsを元に戻す
Application.DisplayAlerts = True
End Sub
詳細な説明
Sheet1.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Sheet1
を現在のブック (ThisWorkbook
) の最後のシートの後にコピーします。ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
は、ブック内のシートの総数を返し、そのインデックスを使用して最後のシートを指定しています。
ActiveSheet.Move before:=Sheet1
- コピーされたシートが現在アクティブになっているので、そのシートを
Sheet1
の左に移動します。 before:=Sheet1
で、Sheet1
の前に移動することを指定しています。
- コピーされたシートが現在アクティブになっているので、そのシートを
Application.DisplayAlerts = False
- この行は、削除操作中に表示される確認ダイアログを非表示にするために
DisplayAlerts
プロパティをFalse
に設定します。 - これにより、削除操作が自動的に行われ、ユーザーの確認を求めるメッセージが表示されなくなります。
- この行は、削除操作中に表示される確認ダイアログを非表示にするために
Sheet1.Delete
Sheet1
を削除します。DisplayAlerts
プロパティをFalse
に設定しているため、通常表示される削除確認ダイアログは表示されません。
Application.DisplayAlerts = True
DisplayAlerts
プロパティをTrue
に戻します。- これにより、他の操作中に必要な警告メッセージが再び表示されるようになります。
シート操作のメソッド
- Copy メソッド
Copy
メソッドは、指定されたシートをコピーします。before
またはafter
パラメータを使用して、コピー先の位置を指定できます。
- Move メソッド
Move
メソッドは、指定されたシートを新しい位置に移動します。before
またはafter
パラメータを使用して、移動先の位置を指定できます。
- Delete メソッド
Delete
メソッドは、指定されたシートを削除します。通常、削除前に確認ダイアログが表示されますが、Application.DisplayAlerts
プロパティをFalse
に設定することでこれをスキップできます。
このサブルーチンは、シートのコピー、移動、および削除の基本操作を示しており、Excel VBAでのシート操作に役立つ実践的な例となっています。