ワークシートをコピーして処理する

元データを保護したまま処理したい時に使える

Sub CopySheetAndProcess()
    Dim newWs As Worksheet
    Sheet16.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) ' シートをコピー
    Set newWs = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) ' コピーした新しいシートを取得
    
    ' newWsへの処理いろいろ(例:データの書き込み、フィルターやソートの設定など)
    newWs.Range("A1").Value = "Hello, this is a copied sheet!"
    
    ' ワークシートを削除(新しいシートを削除することでコピー元のシートだけが残ります)
    Application.DisplayAlerts = False ' 削除時の警告メッセージを非表示にする
    newWs.Delete
    Application.DisplayAlerts = True
End Sub

目的別コードワークシート操作

Posted by rafavba