シートの 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

詳細な説明

  1. Sheet1.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
    • Sheet1 を現在のブック (ThisWorkbook) の最後のシートの後にコピーします。
    • ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) は、ブック内のシートの総数を返し、そのインデックスを使用して最後のシートを指定しています。
  2. ActiveSheet.Move before:=Sheet1
    • コピーされたシートが現在アクティブになっているので、そのシートを Sheet1 の左に移動します。
    • before:=Sheet1 で、Sheet1 の前に移動することを指定しています。
  3. Application.DisplayAlerts = False
    • この行は、削除操作中に表示される確認ダイアログを非表示にするために DisplayAlerts プロパティを False に設定します。
    • これにより、削除操作が自動的に行われ、ユーザーの確認を求めるメッセージが表示されなくなります。
  4. Sheet1.Delete
    • Sheet1 を削除します。
    • DisplayAlerts プロパティを False に設定しているため、通常表示される削除確認ダイアログは表示されません。
  5. Application.DisplayAlerts = True
    • DisplayAlerts プロパティを True に戻します。
    • これにより、他の操作中に必要な警告メッセージが再び表示されるようになります。

シート操作のメソッド

  • Copy メソッド
    • Copy メソッドは、指定されたシートをコピーします。before または after パラメータを使用して、コピー先の位置を指定できます。
  • Move メソッド
    • Move メソッドは、指定されたシートを新しい位置に移動します。before または after パラメータを使用して、移動先の位置を指定できます。
  • Delete メソッド
    • Delete メソッドは、指定されたシートを削除します。通常、削除前に確認ダイアログが表示されますが、Application.DisplayAlerts プロパティを False に設定することでこれをスキップできます。

このサブルーチンは、シートのコピー、移動、および削除の基本操作を示しており、Excel VBAでのシート操作に役立つ実践的な例となっています。

Follow me!