• ベストアンサー

マクロ(VBA)での文字列操作

こういうことできますか? Dim str as String str = Cells(1, 10) Length = Find("会計", str) つまり、エクセル上のセル内の文字列を取ってきて、 会計という文字列を含む場所が何文字目か知りたい。 ところが、Find関数か認識されずエラーが出ます。 Searchにしても同じです。 エクセル関数としては使えるのですが、マクロでは使えないのですか?

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

  • ベストアンサー
  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

VBAでは、Findは関数ではなく、メソッドです。 働きも違います。 Instr関数を使いましょう。

japan_3
質問者

お礼

これ使います! ありがとうございました。

その他の回答 (2)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

> エクセル関数としては使えるのですが、マクロでは使えないのですか? どうしてもワークシート関数を使いたいなら Length = Application.WorksheetFunction.Find("会計", str) という方法もあります。 (すべてのワークシート関数が使えるわけではありませんが)

japan_3
質問者

お礼

別ブックの別シートを呼び出すかもしれませんので その時参考にします。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

VBAでワークシート関数を利用するには http://www.relief.jp/itnote/archives/001834.php VBAで使用できるワークシート関数一覧 http://www.relief.jp/itnote/archives/001974.php 直接の回答ではないかもですが、ご参考になれば。

関連するQ&A