- ベストアンサー
エクセルで特定の文字列を含むセルを自動的に塗りつぶしたい
ということなのですが。条件付き書式、あるいはマクロなどで解決できないでしょうか? 特定の文字列に「等しい」セルを塗りつぶすというのは、かんたんにできるようなのですが、「含む」になると、過去ログから見つけられませんでした。 300ファイルくらいあるデータから、特定の文字を含むセルをマーキングし、情報を抽出せねばなりません。 どなたか知恵をかしてくださいませ!
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
これでどうでしょうか? Sub main() Moji = "特定の文字列" For i = 1 To Sheets.Count With Worksheets(i).Range("a1:IV65536") Set c = .Find(Moji, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do c.Interior.Pattern = xlPatternGray50 Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With Next i End Sub
その他の回答 (8)
- kojitti
- ベストアンサー率32% (449/1386)
>しかし、網掛けなのが少し見えずらいかもしれません…。ぜいたくですが。 この部分をお好みに変えればよいとおもいます。 c.Interior.Pattern = xlPatternGray50 >その横一列をピンク色とかにするのって可能ですか? もちろん可能なのですが、そもそもシートの全セルを検索対象にしていますが、検索対象とするのは特定の列のみでよいのでしょうか?
補足
すみません。お手数おかけしております。 検索文字が含まれる列は、3列ほどに限定されています。パターンのところは、ほかの質問者の方への回答などから調べればわかりそうなので、もしあれでしたら…。
- imogasi
- ベストアンサー率27% (4737/17069)
#5です。お礼の記述に関連して。当方WIN98SEで エクセル2000でやってます。ですから2000でうまく行かないのは信じられません。OSのバージョンは関係ないと思います。かといって原因を思いつくものはありませんが。 文字列を英数半角、全角等変えてテストしてみてもらえませんか。式をミスタイプしないようにして。B付きとBなし(FIND,FINDB)の関連はないかなあ。
お礼
ありがとうございました。 B付き、Bなしも試してみます。 半角、全角は両方試してみたのですけど…。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 条件付き書式で、以下のような式もあります。 「数式が」 「=COUNTIF(A1,"*abc*")>0」
お礼
わたしがあほなせいなのか、できません。 アスタリスクって必要なんですよね?
- imogasi
- ベストアンサー率27% (4737/17069)
1つの同じシート内の操作に限られますが、 (やって見るとCTRLキーを押しながら、別のシートタブを次々クリックすると、同一区画の範囲指定で良ければ、2以上シート間でも1回の下記の操作で書式設定ができました。) (1)「特定の文字列を含む」を問題にする、セルを範囲指定する。 (2)書式-条件付き書式-「数式が」を選ぶ (3)数式のボックスに =FIND("dd",A2)>0と入れる。(仮にddを含むを考える)。 (4)書式を指定する。「パターン」のタブをクリックして色を指定。 (5)「OK」をクリック これでddを含むセル(だけ)の色が変わります。 検索にはFIND,FINDB,SEARCH,SEARCHBがありますので 違いを調べて、適当なものを使ってください。
お礼
ありがとうございました。さっそくやってみました。 OSがXPだとうまくいくのですが、2000だと、 なぜか処理できません。 ファイルの書式設定のせいなのかなと思うのですが…。
- how-do-you-do
- ベストアンサー率56% (59/104)
#3の方と同じですが... [数式が] =ISERROR(FIND("検索文字",対象セル))=FALSE
- ja7awu
- ベストアンサー率62% (292/464)
条件付き書式で「含む」ですと、こんな感じでどうでしょうか。 例: セルA1の文字列に"abc" が含まれているとき [数式が] =LEN(A1)<>LEN(SUBSTITUTE(A1,"abc","")) 300ファイルもあるのに、こんなことでいいのかな? と気にはなりますが・・・ 詳しい状況が解りませんので、そこには触れません。
- 4500rpm
- ベストアンサー率51% (3209/6282)
#1です。 少しちがってました。 1)編集→置換でオプションを押して下さい。 2)検索する文字列と置換後の文字列を同じ文字にして、置換後の書式でセルの色を指定して下さい。 これで置換すると指定文字が含まれているセルの色が変わります。書式設定により文字色を変えたりすることもできます。 くれぐれも置換後の文字を同じにして下さい。
- 4500rpm
- ベストアンサー率51% (3209/6282)
エクセル2002ですが、編集の検索で書式を設定するところがあるので、そこで設定するとできると思います。
お礼
すみません。明記してなかったのですが、エクセルは2000を使ってます。
お礼
いけてます。 しかし、網掛けなのが少し見えずらいかもしれません…。 ぜいたくですが。 色をしくとかって可能ですか? さらにぜいたくですが、 その横一列をピンク色とかにするのって可能ですか? お手数おかけします。