Sorry the second one should be this-
  If .Range("E" & RowCount) = CatArray(CatArr) Then
                         Sheets(MonthArray(MonthArr)).Cells((RowCount + 19 + CatArr), (Day + 3)).Value=.Range("D" & RowCount).Value                     
End If