ここから本文です

EXCELで、特定文字のみフォント色を変えるには?

kat********さん

2012/3/3113:46:44

EXCELで、特定文字のみフォント色を変えるには?

A列にカンマ " , " で区切られた文字を入力しています。またB列には文書を入力しています。もしB列の文書にA列で入力した文字があれば、その文字のみ赤字で表示さすことはできますか?

例:
A1に入力した文字 - 富士山,綺麗,秘密の場所

B1に入力した文書 - 今日の富士山は今まで見た中で一番綺麗だ。 ここからの景色は抜群で、私にとっては秘密の場所。

以上が入力されていた場合、B1の文書の中で、「富士山」 「綺麗」 「秘密の場所」のみ赤字で表示さすことはできますか?

また、A2、B2は、A1、B1とは違う内容が入力されていますが、同様にB2内の文書で、A2に入力した文字のみを赤字で表示さすことはできますか?

つまり、B1の文書はA1の文字列のみを参照し、B2の文書はA2の文字列のみを参照する、B3の文書は...というように続きます。

カンマで区切られた文字を分割する作業、その分割された文字(複数)を参照する作業と2段階に分けたマクロに
なるよう想像しますが、素人でよくわかりません。

どうか分かる方がいらっしいましたらご教授ください。

閲覧数:
544
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

msk********さん

2012/3/3114:07:33

一例です。
Sub sample()
Dim i As Long, j As Integer, pos As Integer,a As Variant
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
a = Split(Cells(i, 1), ",")
For j = LBound(a) To UBound(a)
pos = InStr(1, Cells(i, 2), a(j))
Do While pos > 0
Cells(i, 2).Characters(pos, Len(a(j))).Font.ColorIndex = 3
pos = InStr(pos + 1, Cells(i, 2), a(j))
Loop
Next
Next
End Sub

質問した人からのコメント

2012/4/3 08:02:46

素早いご回答ありがとうございました!
要望していた内容どおり、ワークしまして感動いたしました。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる