Определить содержит ли ячейка формулу или нет — Visual Basic(Бейсик)

If Range("A1").HasFormula = True Then
   MsgBox "Ячейка содержит формулу"
Else
   MsgBox "Ячейка не содержит формулы"
End If
Настоятельно не рекомендуется использовать следующий вариант(ы), так как:

Вы получите ошибку, если формула скрыта, а рабочий лист защищён.
Вы получите некорректный результат, если в ячейке установлен текстовый формат и введён текст, например = ТЕКСТ =
Вы получите некорректный результат, если в ячейке введён текст, например '= Знак равенства является оператором сравнения, например: A1=F5

If Left(Range("A1").Formula, 1) = "=" Then
   MsgBox "Ячейка содержит формулу"
Else
   MsgBox "Ячейка не содержит формулы"
End If
code: #vba
If Asc(Range("A1").Formula) = 61 Then
   MsgBox "Ячейка содержит формулу"
Else
   MsgBox "Ячейка не содержит формулы"
End If

If Range("A1").Formula Like "=*" Then
   MsgBox "Ячейка содержит формулу"
Else
   MsgBox "Ячейка не содержит формулы"
End If

If InStr(Range("A1").Formula, "=") = 1 Then
   MsgBox "Ячейка содержит формулу"
Else
   MsgBox "Ячейка не содержит формулы"
End If

Leave a Comment