この記事では、VBAのHasFormulaプロパティを使ってセルに入力されている情報が数式かどうかを判定する方法を、実際のVBAコードも含めて紹介します。
(VBAではなく)Excelでは、IsFormulaという関数で、数式かどうかを判定することができますが、VBAコードで記述する場合には、HasFormulaプロパティを使います。
ExcelでIsFormulaを使う方は、実用的な活用をしている脱初心者のレベルかと思いますが、VBAでも同じように数式かどうかの判定ができるように、早速VBAコードを見ていきましょう。
この章では、セルA1とセルA2に入力されている情報に対して、数式かどうかを判定するVBAコードを紹介します。なお、セルA1とセルA2の両方のセルを準備しているのは、数式と値、それぞれを判定可能であることを確かめるためです。
上図はセルの見かけ上では判別できないのですが、セルA1には「=SUM(5-9)」の数式が、セルB2には「17」の値が設定されています。
object. HasFormula
HasFormulaプロパティは数式判定の結果を、True か False で返します。
Sub Sample()
Dim s1 As String , s2 As String
s1 = Range(“A1”).HasFormula
s2 = Range(“A2”).HasFormula
MsgBox s1 & vbCrLf & s2
End Sub
Sub Sample()
Dim s1 As String , s2 As String
s1 = Cells( 1 , 1 ).HasFormula
s2 = Cells( 2 , 1 ) .HasFormula
MsgBox s1 & vbCrLf & s2
End Sub