プロが教える店舗&オフィスのセキュリティ対策術

EXCELの例えばA列の文字データの特定の文字列を一括して指定色(例えば赤)に変えるにはどうしたらよいか教えてください。
例:A列の1~1000行の各行に文字データが入力されている。これらのデータの内"ABC"という文字列だけ一括して赤色にかえたい。

A 回答 (3件)

>データの内"ABC"という文字列だけ一括して赤色にかえたい


の意味が「ABCという文字列を含むセルは全部赤にしたい」ということであれば「編集」→「置換」→「置換前と後の文字列にABCを指定」→「オプション」→「書式」で文字色を指定できます。

そうではなく、「XXXXABC12334」という文字列の中で「ABC」の部分だけを赤にしたいならマクロが必要です。

以下のマクロをALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はシート画面に戻って、ALT+F8を押してマクロ一覧からマクロ名を選択して実行します。
Sub Macro1()
Dim rng As Range
Dim ptr As Integer
Const tStr As String = "ABC" 'ここに色を変える文字列を書く
 For Each rng In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, 23)
  ptr = InStr(rng.Value, tStr)
  If ptr > 0 Then
   rng.Characters(Start:=ptr, Length:=Len(tStr)).Font.ColorIndex = 3
  End If
 Next rng
End Sub
    • good
    • 18
この回答へのお礼

説明不足でした。「XXXXABC12334」という文字列の中で「ABC」の部分だけを赤にしたい。が質問の主旨でした。貴ご回答のマクロを実行したところ解決しました。
ありがとうございました。

お礼日時:2007/02/21 09:51

条件付き書式で大丈夫なはずですが



たとえばjkvhukdfhkABChjdskhf
みたいな状況になっているセルを条件付き書式で色塗りするのは
出来ないと思うので、もしそうなっている場合は別な列(たとえばB1)を用意し
=IF(COUNTIF(A1,"*ABC*"),"○","×")という式で
データの下までB1をオートフィル。
次にB列にオートフィルタをかけて○を抜き出した状態でA列塗りつぶし。

こんなところでしょうか。
    • good
    • 0
この回答へのお礼

zap35さんのご回答で解決しました。
ありがとうございました。

お礼日時:2007/02/21 09:54

条件付書式でA1が"ABC"だったら赤と設定し、条件付書式をコピーします。

    • good
    • 0
この回答へのお礼

zap35さんのご回答で解決しました。
ありがとうございました。

お礼日時:2007/02/21 09:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!