• ベストアンサー

エクセルVBでセルの内容が関数かどうかを調べる

初歩的な質問で恐縮ですが エクセル2002で特定のセルに"=SUBTOTAL"などの関数が入っているかどうかを調べる場合の方法を教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんにちは。 HasFormulaプロパティを使えばできますよ。 ------------------------------------- Sub test() Dim c As Range Set c = Range("C1") If c.HasFormula Then MsgBox "数式または関数です" Else MsgBox "関数ではありません" End If End Sub

try2003
質問者

お礼

早速試してみました。 うまく動きました。 初歩的な質問にもかかわらず ご回答いただきどうもありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

#1ですが、もう1歩 Sub test01() Dim cl As Range For Each cl In Selection If cl.HasFormula Then MsgBox cl.Formula End If Next End Sub でどうですか。式はcl.Formulaで捉えられます。 式の入っているか調べる範囲を多めに指定して、上記を 実行してください。For Each cl In Range("A1:H10") のようにもできます。 If LEFT(cl.Formula,9)="=SUBTOTAL" Then などとも出来るでしょう。

try2003
質問者

お礼

このように書くと探す範囲を指定するのが楽ですね。 大変参考になりました。 どうもありがとうございます。

関連するQ&A