• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA★findを使って見つけたセルの値を取得)

VBA★findを使って見つけたセルの値を取得

このQ&Aのポイント
  • Excel VBAのFind関数を使用して、指定した値を検索し、見つかったセルの右隣のセルの値を取得する方法について教えてください。
  • タイトルにもあるように、Excel VBAのFind関数を使って、指定した値を検索し、そのセルの右隣のセルに入っている値を取得する方法が知りたいです。
  • エクセルのVBAを使って、ある値を検索し、そのセルの右隣のセルの値を取得したいのですが、どのようにすれば良いのでしょうか?

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

  • ベストアンサー
  • jin34
  • ベストアンサー率80% (17/21)
回答No.3

No.2 訂正です。 すみません。 If obj = Nothing Then → If obj Is Nothing Then ですね。

mougmoug
質問者

お礼

OKでした!!!

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

その他の回答 (2)

  • jin34
  • ベストアンサー率80% (17/21)
回答No.2

このままだと「タナカ」が見つからなかったときにエラーが出るので、 エラー処理を噛ませたほうがいいと思います。 取得した値を変数ansに入れるマクロです。 見つからないとき、見つかったときそれぞれでメッセージを表示します。 Dim obj As Object Dim AA As String Dim ans As Variant Dim c As Integer Dim r As Integer AA="タナカ" Set obj = Selection.Find(What:=AA, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, MatchByte:=False, SearchFormat:=False) If obj = Nothing Then MsgBox "見つかりませんでした。" Else c = Selection.Find(What:=AA, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, MatchByte:=False, SearchFormat:=False).Column r = Selection.Find(What:=AA, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, MatchByte:=False, SearchFormat:=False).Row ans = Cells(r, c+1).Value MsgBox ans End If

mougmoug
質問者

お礼

ありがとうございます。 参考にして使っています

mougmoug
質問者

補足

If obj = Nothing Then ここでオブジェクトエラーでませんか?

すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

~False).Offset(0,1).Activate が右(1つ)隣です。 ⇒-1は左(1つ)隣。 Offset( 行 , 列)になりますから、 Offset(1,0)は下に1つ Offset(-1,0)は上に1つ Offset(1,1)は右下 とか。

mougmoug
質問者

お礼

Offset は使ったことがなかったです! ありがとうございます1

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

関連するQ&A