You need to specify the worksheet when you referring to a range. Give this a try
Sub test()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If IsEmpty(ws.Range("a1").Value) = False Then 'If range A1 is /not/ empty, then perform these loops
Dim c As Range
ws.Range("d3:x115").Name = "Rng"
For Each c In ws.Range("Rng")
If c.Interior.Color = RGB(166, 77, 121) Then 'If it’s colored then
If c Like "*#*" Then c.Offset(, 5) = c + 1 'check if has a date entered
If c.Offset(, 5).Interior.ColorIndex = xlNone Then c.Offset(28, -20) = c + 3 'if no fill then go to next week
End If
Next
ws.Range("d143").ClearContents
On Error Resume Next 'If range A1 /is/ empty, then go to the next worksheet
End If
Next ws
End Sub
Bookmarks