[[20160210142037]] 『検索した条件に合致するセルに色を塗りたい・・・』(きゃらめるぱん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『検索した条件に合致するセルに色を塗りたい・・・』(きゃらめるぱん)

はじめまして。
今までは過去記事で大体解決してきたのですが、
どうも今回は見つけることができなかったので
質問させていただきます。

どこに何があるのか置場管理をしたく、
お客さんから返却されたものの工場の配置図を作成しています。

配置図自体は、エクセルに羅線を引いてつくりました。

A1 A2 A3
B1 B2 B3
C1 C2 C3
  ・
  ・
  ・
といった感じです。

検索対象を、
得意先名 ****
現場名  ****
受付No  ****  この3つの条件の中から、
どれか1つでも合致すれば置場のセルに色を塗りたいです。

置場のセルにはあらかじめ、別シートからデータを引っ張り
白字で見えないようにして得意先名・現場名・受付Noを入力しておきます。

できればマクロとかで検索ボタンを作成し、
かっこいい感じにしたいと思っていますが、
なんせマクロは超初心者なのでお手上げ状態でした・・・

どなたかお分かりになる方いらっしゃいますでしょうか?
説明下手でわかりにくいとは思いますが、
宜しくお願いします・・・(´・ω・`)

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 例。

	A	B	C	D	E	F
1	A	D	G		得意先	
2	B	E	H		現場名	
3	C	F	I		受付No	H

 F列に検索文字入力

 A1:C3を選択して 条件付書式  数式入力で =COUNTIF($F$1:$F$3,A1)  お好み書式設定

 ※F列入力した分、全て書式設定するよん。
(GobGob) 2016/02/10(水) 14:41

(GobGob)さんありがとうございます(´・ω・`)

	A	B	C	D	E	F
1	A	D	G		得意先	
2	B	E	H		現場名	
3	C	F	I		受付No	

=COUNTIF($F$1:$F$3,A1)

教えてもらったとおり入力しました。

そこで、A1に畑を入力しておき、F1に畑と入力してみたところ
A1:C3まで全部色がぬらさりました・・・(´;ω;`)
なんででしょうか???
もう一度教えてもらえますか??

ちなみに上記の教えてもらったこともできないのに
マクロでボタン作成して検索して・・・なんて不可能ですよね・・・泣

(きゃらめるぱん) 2016/02/10(水) 15:18


(GobGob)さん!

条件付書式解決しました!!
ありがとうございます!

ちなみにマクロだと・・・(´・ω・`)

ひつこくてすみません・・・

(きゃらめるぱん) 2016/02/10(水) 15:41


 なぜマクロにこだわるのでしょうか?

 Sub test()

     Dim r As Range

     Range("A1:C3").Interior.ColorIndex = xlNone

     For Each r In Range("A1:C3")
         If Application.CountIf(Range("F1:F3"), r.Value) > 0 Then r.Interior.ColorIndex = 6
     Next

 End Sub
(se_9) 2016/02/10(水) 15:57

(se_9)さん
回答ありがとうございます。
社内で使う為、ボタン検索など機能的なもののほうが評価が良いからです。

ですが、実力が伴ってもいないのに高望みしすぎました・・・

失礼しました。

(きゃらめるぱん) 2016/02/12(金) 16:11


別の質問をしてもよろしいでしょうか・・・

Eに山田
Iに山口 と入力しておき、

F1に仮に「山」と入力すれば、EとIを色つけ
F1に仮に「山田」と入力すれば、Eのみ色つけ
をする場合はどうしたらよろしいでしょうか・・・?

質問ばかりで申し訳ないですが、お分かりになられる方がいらっしゃったら
宜しくお願いします(´・ω・`)
(きゃらめるぱん) 2016/02/12(金) 16:14


 山田がE1セル、山口がI1セルだとする。
 E1セルとI1セルを選択して条件付き書式で「数式を使用して書式設定するセルを決定」を選択して数式に

 =AND(COUNTIF(E1,"*"&$F$1&"*"),$F$1<>"")
 としてはどうか?
(ねむねむ) 2016/02/12(金) 16:27

(ねむねむ)さん回答ありがとうございます(>_<)

上の例の続きのつもりで質問をしたのですが、
この式で動作しますか?(´・ω・`)

(GobGob)さんが回答してくれた

 =COUNTIF($F$1:$F$3,A1)
だと、「山」の入る言葉に色をつけたくても
「山田」や「山口」と入力しないと色が塗れなかったのです・・・

あいまいな検索をしたかったのですが、自分でネットけんさくして
"*"を使ってみましたが、うまくいきませんでした・・・

お忙しいところすみませんが、どなたか宜しくお願いします!!
(きゃらめるぱん) 2016/02/12(金) 16:41


 では別の質問ではなく続きの質問ではないか?

 行いたいことはF列に入力した値がE列、I列に含まれている場合にそのE列、I列のセルに色を付けたいということか?

 #別の質問ということだったので 2016/02/12(金) 16:14の内容だけから判断した。
(ねむねむ) 2016/02/12(金) 16:50

(ねむねむ)さん
日本語が変ですいません(´・ω・`)

そのとおりでございます・・・(´・ω・`)
(きゃらめるぱん) 2016/02/12(金) 16:54


 E列を選択して数式に

 =SUM(COUNTIF(E1,"*"&$F$1:$F$100&"*")*($F$1:$F$100<>""))
 と設定、その後ルールの管理で適用先を
 =$E:$E,$I:$I
 として見てくれ。

 なお、F列は1行目から100行目までを対象とする。
 もっとある場合は$100部分(2か所)を同じ値で大きくしてくれ。

 ただし大きくしすぎると時間がかかるようになる。
 (私の環境ではF列全部($F:$F)を指定すると無反応状態になった。しばらく待っていれば戻ってきたかもしれないが待つ気もなかったため
 強制終了させた)
(ねむねむ) 2016/02/15(月) 09:29

(ねむねむ)さんご教授ありがとうございます(´・ω・`)
これを行うと全ての色についてしまい、なかなか実行することができませんでした。

そもそもなにも知らないのにマクロを教えて欲しいといったところで
教えてくださる方も説明のしようがないと思い、
マクロについて自分なりに勉強しました!
まだまだ勉強不足ですが、なんとなく読み解けるようにはなりました・・・

そこで
(se_9)さんの書いてくれたマクロの質問をしたいです(´・ω・`)

 Dim r As Range

とありますが、この r とは
どこからきたものでしょうか・・・?
(きゃらめるぱん) 2016/02/19(金) 10:16


r が変数として扱われていることが自力で解決し、
(se_9)さんのマクロも起動することができました・・・が・・・・

やはり、入力済みのデータと
検索したい言葉が完全に一致しないと
色が塗れません・・・

マクロであいまいな検索をして色を塗るのは不可能でしょうか?

何度もすみません・・・
宜しくお願い致します(*´ω`*)
(きゃらめるぱん) 2016/02/19(金) 15:09


F1については部分一致(xlPart)で、F2とF3は完全一致(xlWhole)で着色

 Sub test()

    Application.ReplaceFormat.Clear
    Application.ReplaceFormat.Interior.Color = vbYellow

    With Range("A1:C3")
        .Interior.ColorIndex = xlNone

        .Replace What:=Range("F1").Value, Replacement:="", ReplaceFormat:=True, _
            LookAt:=xlPart, _
            MatchCase:=False, _
            MatchByte:=False
        .Replace What:=Range("F2").Value, Replacement:="", ReplaceFormat:=True, _
            LookAt:=xlWhole
        .Replace What:=Range("F3").Value, Replacement:="", ReplaceFormat:=True
    End With

 End Sub

(マナ) 2016/02/20(土) 22:38


(マナ)さんありがとうございます。

上記マクロを入力して起動してみると

("A1:C3")が全て黄色に塗らさってしましました。

仮に、Gセルに 「1234 佐藤 中学校」 と入力されている状態で

<例1>
F1 空白
F2 佐藤
F3 空白   で検索ボタンを押すと Gセルが黄色

<例2>
F1 1234
F2 空白
F3 空白   で検索ボタンを押すと Gセルが黄色

<例3>
F1 空白
F2 空白
F3 大学   で検索ボタンを押すと ("A1:C3")が塗りつぶしなし

<例4>
F1 空白
F2 空白
F3 空白   で検索ボタンを押すと ("A1:C3")が塗りつぶしなし

上記例のような、("F1:F3")に入力されている文字を含んだセルが
("A1:C3")にある場合、そのセルに色をつけるコマンドボタンを作成しようとしています。

上記マクロでこのような動作は可能でしょうか?
今一度教えていただきたいです・・・
宜しくお願い致します・・・(*´ω`*)

(きゃらめるぱん) 2016/02/22(月) 11:16


あいまい検索とはそういう意味でしたか。
データは半角スペースで区切られて入力されているという前提なら以下でどうでしょうか。
これでだめならサロンでの回答をお待ち下さい。
向こうはマルチポスト禁止なので、こちらは終わりにしておいたほうがよいです。
私もこれで最後にします。

 Sub test2()

    Application.ReplaceFormat.Clear
    Application.ReplaceFormat.Interior.Color = vbYellow

    With Range("A1:C3")
        .Interior.ColorIndex = xlNone

        .Replace What:=Range("F1").Value & " *", Replacement:="", ReplaceFormat:=True, _
            LookAt:=xlWhole, _
            MatchCase:=False, _
            MatchByte:=False
        .Replace What:="* " & Range("F2").Value & " *", Replacement:="", ReplaceFormat:=True
        .Replace What:="* " & Range("F3").Value, Replacement:="", ReplaceFormat:=True
    End With

 End Sub

(マナ) 2016/02/22(月) 21:34


(マナ) さん重ね重ねありがとうございます(´・ω・`)!
(きゃらめるぱん) 2016/02/23(火) 08:51

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.