シートの 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.DeleteSheet1を削除します。DisplayAlertsプロパティをFalseに設定しているため、通常表示される削除確認ダイアログは表示されません。
Application.DisplayAlerts = TrueDisplayAlertsプロパティをTrueに戻します。- これにより、他の操作中に必要な警告メッセージが再び表示されるようになります。
シート操作のメソッド
- Copy メソッド
Copyメソッドは、指定されたシートをコピーします。beforeまたはafterパラメータを使用して、コピー先の位置を指定できます。
- Move メソッド
Moveメソッドは、指定されたシートを新しい位置に移動します。beforeまたはafterパラメータを使用して、移動先の位置を指定できます。
- Delete メソッド
Deleteメソッドは、指定されたシートを削除します。通常、削除前に確認ダイアログが表示されますが、Application.DisplayAlertsプロパティをFalseに設定することでこれをスキップできます。
このサブルーチンは、シートのコピー、移動、および削除の基本操作を示しており、Excel VBAでのシート操作に役立つ実践的な例となっています。

