This should do it
Public Sub GenerateCAR()
Dim wsCAR As Worksheet
Dim wsChecklist As Worksheet
Dim lastrow As Long
Dim i As Long
Application.ScreenUpdating = False
Set wsChecklist = Worksheets("Checklist")
With wsChecklist
lastrow = .Cells(.Rows.Count, "C").End(xlUp).Row
End With
Call DeleteSheet("CAR")
Set wsCAR = Worksheets.Add(After:=wsChecklist)
wsCAR.Name = "CAR"
With wsCAR
With .Range("C2:H2")
.MergeCells = True
.Value = "CORRECTIVE ACTION REPORT"
.HorizontalAlignment = xlCenter
.Font.Size = 20
With .Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 49407
.TintAndShade = 0
.PatternTintAndShade = 0
End With
.BorderAround Weight:=xlMedium, LineStyle:=xlContinuous
End With
For i = 3 To 8
.Columns(i).ColumnWidth = wsChecklist.Columns(i).ColumnWidth
Next i
.Columns("E").ColumnWidth = 12
With wsChecklist.Range("C5").Resize(lastrow - 4, 7)
.AutoFilter Field:=7, Criteria1:="<>"
.Copy wsCAR.Range("C4")
.AutoFilter
End With
wsCAR.Columns("I").Delete
End With
Debug.Print "All done - " & Now()
Application.ScreenUpdating = True
End Sub
Private Function DeleteSheet(ByVal sh As String) As Boolean
On Error Resume Next
Application.DisplayAlerts = False
Worksheets(sh).Delete
End Function