Your code has For & Next,
But why Compile error: Says that "Next without For" ?
Static OldValues As Variant Dim NewValues As Variant Dim Changed As Boolean Dim i As Integer NewValues = Me.Range("T4:T31").Values If Not IsArray(OldValues) Then ' Only true on first run after opening Workbook OldValues = NewValues Else For i = LBound(NewValues) To UBound(NewValues) If NewValues(i) <> OldValues(i) Then Changed = True OldValues = NewValues Exit For Next End If If Not Changed Then Exit Sub