• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:あるならばそのアドレスを取得したい)

シート内の目的の文字のセルアドレスを取得する方法

このQ&Aのポイント
  • シート内の目的の文字のセルアドレスを取得するには、Findメソッドを使用します。
  • Findメソッドは、指定した文字列を含む最初のセルを検索し、そのセルのアドレスを返します。
  • Findメソッドを使用する際は、対象の範囲を明示的に指定することが重要です。

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

  • ベストアンサー
  • okgoripon
  • ベストアンサー率44% (1141/2548)
回答No.3

Debug.Print .Cells.Find(What:="aaa").Address 単なる書き間違い。 質問に書かれている書き方だと「Sheet1全体のAddressプロパティ」ですから$1:$1048576にしかならないです。

LSNUUONNWWBP
質問者

お礼

回答ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

Debug.Print .Cells.Address としているのだから、検索とは関係なしに、シートの全セルが返されるのは当然。 "aaa"のあるセルを返したいなら、 With Sheets("Sheet1") Set c = .Cells.Find(What:="aaa") If Not c Is Nothing Then 'あるならば Debug.Print c.Address End If End With とでもしなければダメでしょう。 なお、Findを使うなら、ワークシート上で検索した場合も含めて、前に検索した条件を引き継ぐので、そのままでは予期せぬ結果になることがある。これを防止するために、Lookinとかのほかの引数も指定してやった方がいい。

LSNUUONNWWBP
質問者

お礼

回答ありがとうございました。

すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

Function test() With Sheets("Sheet1") If Not .Cells.Find(What:="aaa") Is Nothing Then 'あるならば Debug.Print .Cells.Find(What:="aaa").Address  ’致命的勘違い End If End With End Function #参考 sub macro1() debug.print test2("aaa") end sub function test2(a) on error resume next test2 = worksheets("Sheet1").cells.find(what:=a).address end function

LSNUUONNWWBP
質問者

お礼

回答ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A