Thanks Norie!

This is now my code and it still debugs at the highlighted code on the second pass through. "Object variable or With block variable not set"

Option Explicit
Sub CalculatePerformance()
Application.ScreenUpdating = False

'REFERENCE VARIABLES
    Dim CHEMICALS As Long, COAL As Long

'SHEET SPECIFIC
    Sheets("Weights").[J7].Formula = "=BDP(""RIY INDEX"",""LAST_TRADE"")"
    Sheets("Weights").[K7].Formula = "=BDP(""RIY INDEX"",""RT_PX_CHG_PCT_1D"")"
    Sheets("Weights_R800").[J7].Formula = "=BDP(""RMC INDEX"",""LAST_TRADE"")"
    Sheets("Weights_R800").[K7].Formula = "=BDP(""RMC INDEX"",""RT_PX_CHG_PCT_1D"")"
    
'LOOP
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        With ws
'CREATE HEADER
            .Range("J6") = "Price"
            .Range("K6") = "% Change"
            .Range("L7") = "Company"
            .Range("M7") = "Industry"
            .Range("N7") = "Sector"
            .Columns("A:A").Replace What:=".", Replacement:="/", LookAt:=xlPart
            
'BASIC MATERIALS
'CHEMICALS
            CHEMICALS = Evaluate("=MATCH(""CHEMICALS"",$C:$C,0)+1")
            COAL = Evaluate("=MATCH(""COAL"",$C:$C,0)-1")
            .Range(.Range("J" & CHEMICALS), .Range("J" & COAL)).Formula = "=BDP(RC[-9]&"" EQUITY"",""LAST TRADE"")"
            .Range(.Range("K" & CHEMICALS), .Range("K" & COAL)).Formula = "=BDP(RC[-10]&"" EQUITY"",""RT_PX_CHG_PCT_1D"")"
            .Range(.Range("L" & CHEMICALS), .Range("L" & COAL)).Formula = "=(RC[-1]-R7C11)*RC[-5]"
            .Columns("C:C").Find(What:="CHEMICALS").Offset(0, 10).Formula = "=SUM(" & .Range(.Range("L" & CHEMICALS), .Range("L" & COAL)).Address(False, False) & ")"
        End With
    Next ws
Application.ScreenUpdating = True
End Sub