Eu acho que é por causa do seu loop
For i = 1 to 4
Mas você nunca faz referência a i
, então está fazendo tudo quatro vezes. Você deveria usá-lo assim -
If Sheets("Data").cells(21,1+i).Value2 = "Open" Or Sheets("Data").cells(21,1+i).Value2 = "WIP" And ...
Não tenho certeza do que a segunda parte do seu if
está se referindo, mas você obtém a essência.