@ DMO
Вот только что протестировал и работает отлично.И это довольно быстро
Public Sub UpdatedEIghtAndTwelve()
Dim arr As Variant
arr = ThisWorkbook.ActiveSheet.UsedRange.Formula
Dim i As Long, j As Long, z As Long
j = UBound(arr, 1)
z = UBound(arr, 2)
For i = LBound(arr, 1) To UBound(arr, 1)
If arr(i, 9) = "YES" Then
arr(i, 8) = vbNullString
End If
If arr(i, 13) = "YES" Then
arr(i, 12) = vbNullString
End If
Next i
With ThisWorkbook.ActiveSheet
.Range(.Cells(1, 1), .Cells(j, z)).Value2 = arr
End With
End Sub
Я забыл добавить, что вам нужно поместить это в код рабочей таблицы. За листом (листами), который вы хотите запустить для
Private Sub Worksheet_Activate()
Call UpdatedEIghtAndTwelve
End Sub