Здравствуйте. Помогите написать макрос, который бы действовал в соответствии с нижеизложенными условиями.
Если количество значений в столбце A: <=301, то выводим сообщение "Готово", >301, то удаляем столько первых строк (без заголовка), что бы значений в столбце A оставалось 301, выводим сообщение "Готово". Предварительно перед удалением заменив с формул на значения (копировать - вставить как значения) те 30 строк которые после удаления окажутся первыми после заголовка.
Sub Mr()
Dim n&
n = WorksheetFunction.CountA(Columns(1))
If n > 301 Then
With ActiveSheet.UsedRange.Rows(n - 299).Resize(30)
.Value = .Value
End With
Rows(2).Resize(n - 301).Delete
End If
MsgBox "Готово"
End Sub