• 締切済み

エクセル/検索したときにセルに色を付けたい。

いつもお世話になっています。 例えば、B列を選択して検索します。 選択したB列は色が反転しますよね。 そして、検索されたセルは色が元に戻っている。 このセルに色を付け(もしくはセルの縁に色などを付ける)て、検索されたセルをわかり易くしたいのですが。 出来ますでしょうか? 宜しくお願いします。

みんなの回答

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

置換ウィザードで検索したセルに色を着けることができます Ctrl+Hで置換ウィザードを開き、「検索する文字列」に検索したい文字列を入れます。また「置換後の文字列」にも全く同じ文字列を入れます。 次に「置換後の文字列」の右側にある「書式」ボタンをクリックして「パターンタブ」を開き、セルの背景色を指定します 「置換(R)」ボタンをクリックすると検索したセルの背景色が1つずつ変わります。「全て置換(A)」ボタンなら一括で背景色が変わります。 お試しください

msyk
質問者

お礼

zap35様 置換ウィザードですか。 なるほどぉ。。 今回はちょっと違ったのですが、とても使いやすいものですね。 とても便利です。 参考になりました♪ ありがとうございました。

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

方法 (!)VBA (2)条件付書式 ーー (2)は 検索する値を、決めた1つのセルにいつも入れるなら、検索操作しなくても、該当セルには色が付く用にできる。 ただ今までの何度かの、別の値の検索の該当分セルまで、累積的にセルに色を残すのはできないと思う。 関数ではできませんから、考えないように。 ーー (1)ですが マクロの記録をとると (下記ActiveCell.Interior.ColorIndex = 6は後から付け加えた) 2行に該当があるバイいは Sub Macro2() Selection.Find(What:="4", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, MatchByte:=False, SearchFormat:=False).Activate ActiveCell.Interior.ColorIndex = 6 Selection.FindNext(After:=ActiveCell).Activate ActiveCell.Interior.ColorIndex = 6 Selection.FindNext(After:=ActiveCell).Activate ActiveCell.Interior.ColorIndex = 6 End Sub となり、この中でFind(メソッド)とFindNext(メソッド)がキーワードです。 しかし下記の点の改良が必要。 (A)該当なしの場合の対処方法 (B)該当数が変動する場合の対処方法 Findの使い方は、結構難しい。 しかし有名なテーマなので、WEB照会すれば沢山例示が載っています。 興味があればこの線から攻めるより他ない。 ActiveCell.Interior.ColorIndex = 6 がセルの背景色をつける部分です。 興味があるかどうか定かでないので、改良版コードは略す。

msyk
質問者

お礼

imogasi様 ご回答、ありがとうございます。 そしてお礼が遅くなり申し訳ありません。 高度です・・難しいです。。 諦めようと思います。 有難うございました。

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.1

こんにちは 参考にして下さい。 Sub sample1() tmp1 = InputBox("検索文字を入力") tmp2 = Val(InputBox("検索列を入力 (例)数値A列=1,B列=2")) LR = Worksheets(1).Cells(65536, tmp2).End(xlUp).Row Set r1 = Worksheets(1).Range(Cells(1, tmp2), Cells(LR, tmp2)) With r1 Set c = .Find(tmp1) If Not c Is Nothing Then ad = c.Address Do c.Interior.ColorIndex = 3 Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> ad End If End With End Sub

msyk
質問者

お礼

WWolf様 ご回答、ありがとうございます。 そしてお礼が遅くなり申し訳ありません。 高度過ぎて、私には・・・・・ 諦めようと思います。 有難うございました。

関連するQ&A