- ベストアンサー
Excelで別の列の言葉と共通部分に書式設定する方法
- ExcelのシートのC列・G列・J列・K列には、日本語の言葉が入っています。C列・G列・J列の言葉は、K列の言葉を含みます。C列の言葉のうち、K列の言葉の部分に書式設定したいです。G列・J列の言葉も同様に、K列の言葉の部分に書式設定したいです。
- Excelで、C列・G列・J列の言葉のうち、K列の言葉の部分に書式設定する方法を教えてください。
- Excel2002で、C列・G列・J列の言葉のうち、K列の言葉の部分に自動で書式設定する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
エクセルではできないのでは? エクセルでできるのは、対象だけでないセル全体の書式の変更(条件付書式)です。 ワードなら対象文字のみの変更を置換(オプションで書式)で設定できます。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
最近同類の質問が続いているように思うが、 エクセルではセルの文字単位の書式設定は、個別に手動でスタート位置とエンド位置を指定してでしかきない。 それが面倒であれば、VBAにやらすしかない。 Sub test01() d = Range("A65536").End(xlUp).Row For i = 1 To d se = Cells(i, "E") sa = Cells(i, "A") p = InStr(1, sa, se) If p = 0 Then Exit For Cells(i, "A").Characters(p, Len(se)).Font.ColorIndex = 3 Next i End Sub のようなコードにすれば良い。 A列各セルについてE列の語句・文章があれば、A列の語句・文章の該当箇所を赤色文字にするもの。 B,C、D列なども同じことをしたいときは、 Sub test01() d = Range("A65536").End(xlUp).Row For j = 1 To 4 For i = 1 To d se = Cells(i, "E") sa = Cells(i, j) p = InStr(1, sa, se) If p = 0 Then Exit For Cells(i, j).Characters(p, Len(se)).Font.ColorIndex = 3 Next i Next j End Sub のように、ForNextをネストさせるとできる。
補足
ご回答ありがとうございます。
お礼
ご回答ありがとうございます。