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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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