You need to explain what you want the code to achieve. Currently I can't see why you need to loop through the array of sheets simply to copy one sheet. This will copy the sheet, rename it & format it.


Option Explicit

Sub REPORTGEN()
    Dim cell As Range
    Application.ScreenUpdating = False

    Sheets("FOOD CHANNEL-FORM").Copy After:=Sheets(14)
    Cells.Value = Cells.Value
    ActiveSheet.Name = Range("I3").Value
    Range("A1").EntireRow.Hidden = False
    For Each cell In ActiveSheet.Range("C12:C257")
        If cell.Value = "na" Then cell.EntireRow.Hidden = True
    Next
    ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
    Application.ScreenUpdating = True
End Sub