Я сделал некоторые поиски по этой теме, наконец, получил некоторые пользовательские изменения
Для Workbench MySQL 6.3.7 Версия доступна графическая межфазная
Для версий ниже 6.3.7 прямые параметры недоступны, поэтому вам нужно перейти с командной строкой
Что бы я сделал:
Dim RowsWithFormulas As Long
On Error Resume Next
RowsWithFormulas = Range("Q:Q").SpecialCells(xlCellTypeFormulas, 16).Rows.Count
On Error GoTo 0
If RowsWithFormulas > 0 Then
Range("Q:Q").SpecialCells(xlCellTypeFormulas, 16).EntireRow.Delete
End If
Пожалуйста, проверьте ссылку ниже. его уже ответили на этом форуме. Также, пожалуйста, ознакомьтесь с правилами для этого форума ..:)
Вы также можете установить это в качестве диапазона:
Sub t()
Dim cellsWithErroringFormulas As Range
On Error Resume Next
Set cellsWithErroringFormulas = Range("Q:Q").SpecialCells(xlCellTypeFormulas, 16)
On Error GoTo 0
If cellsWithErroringFormulas Is Nothing Then
' Do whatever
MsgBox ("No formulas result in an error!")
Exit Sub
ElseIf cellsWithErroringFormulas.Rows.Count > 0 Then
cellsWithErroringFormulas.SpecialCells(xlCellTypeFormulas, 16).EntireRow.Delete
' Now, if you call `cellsWithErroringFormulas` again, it will error since you removed all those references.
' So to be explicit, let's clear that variable.
Set cellsWithErroringFormulas = Nothing
End If
End Sub
Я настроил имя переменной, просто потому, что вы технически не ищете строки с формулами, а скорее ячейки с формулами, которые приводят к ошибке , Здесь немного неуклюже, поэтому переименовывайте по желанию. Просто хотел указать на это.
Кроме того, поскольку я не знаю, что вы планируете делать дальше, я добавил Set cellsWithErroringFormulas = Nothing
, поскольку мы не можем использовать эту ссылку после того, как вы удалите ошибочные строки. Возможно, вам это и не нужно, но я просто хотел бы указать на это.