• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル マクロ 検索)

Excelマクロでのセル検索について

このQ&Aのポイント
  • Excelのマクロを利用して、範囲内のセルを検索し、検索されたセルの左のセルを表示する方法について教えてください。
  • セル検索のためのマクロを利用して、指定した文字(数値)を検索し、検索結果を別のセルに表示する方法を教えてください。
  • 現在、色付きで検索結果が表示されるマクロを使用しているが、使い勝手があまり良くないため、改善方法があれば教えてください。

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

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

#2です。 Sub Data_Find_Try2() Dim 対象セル As Range 'Dim 最初のセル番地 As String 'Dim 検索件数 As Long Cells.Interior.ColorIndex = xlNone If Range("E1").Value = "" Then Exit Sub Set 対象セル = Range("A2:K221").Find(What:=Range("E1").Value, After:=Range("K221"), lookAt:=xlWhole) If 対象セル Is Nothing Then Exit Sub 対象セル.Interior.ColorIndex = 37 Range("K1").Value = 対象セル.Offset(, -1).Value End Sub こうゆう事ですか?

miyabi7
質問者

お礼

早朝の回答ありがとうございます。 会社に行って試してみます。 結果は後ほど、本当にありがとうございます。

miyabi7
質問者

補足

出来ました!悩んでいた問題がひとつ解決できました。 本当にありがとうございます。

その他の回答 (2)

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

#1です。 >検索して検索されたセルの左のセルの文字(数値)を表示する方法なんですが をK1にですか? 検索結果が複数の場合、K1には何を(何番目を?)入れるのでしょうか? それとも検索件数は1つとか?

miyabi7
質問者

補足

>それとも検索件数は1つとか? 検索結果は複数あります。 >検索結果が複数の場合、K1には何を(何番目を?)入れるのでしょうか? 何番目でもかまいませんが、できれば最初に検索して検索されたセルの左の値(文字列)。 製品の検索をしたいんですが、A列に製品の場所、B列に製品名、C列に製品の場所・・・と交互になっています。 製品の配置も表も整理しきれていないのが現状です。 よろしくお願いします。

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

Sub Data_Find_Try() Dim 対象セル As Range Dim 最初のセル番地 As String Dim 検索件数 As Long Cells.Interior.ColorIndex = xlNone If Range("E1").Value = "" Then Exit Sub Set 対象セル = Range("A2:K221").Find(What:=Range("E1").Value, After:=Range("K221"), lookAt:=xlWhole) If 対象セル Is Nothing Then Exit Sub 最初のセル番地 = 対象セル.Address Do 対象セル.Interior.ColorIndex = 37 検索件数 = 検索件数 + 1 Set 対象セル = Range("A2:K221").FindNext(対象セル) Loop While 対象セル.Address <> 最初のセル番地 MsgBox "検索件数は" & 検索件数 & " 件です" Range("K1").Value = 検索件数 End Sub こんな感じとか?

miyabi7
質問者

補足

回答ありがとうございます。 早速トライしてみたんですが、検索された件数が表示されます。 私の書き方が悪かったのかもしれませんが・・・。 検索して検索されたセルの左のセルの文字(数値)を表示する方法なんですが、Offsetを使うのかなくらいの知識しかありません。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう