![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.4ベストアンサー
- 回答日時:
マクロを使うなら、こんな具合にします。
手順:
シート名タブを右クリックしてコードの表示を選ぶ
現れたシートに下記をコピー貼り付ける
private sub Worksheet_Change(byval Target as excel.range)
dim h as range
dim pos as long
for each h in target
pos = instr(h.text, "天気")
do while pos > 0
h.characters(pos, len("天気")).font.colorindex = 3
pos = instr(pos + 1, h.text, "天気")
loop
next
end sub
ファイルメニューから終了してエクセルに戻る
セルに「今日の天気は晴れの天気予報でした」などのように言葉を記入すると、自動で色が付く。
#既に記入済みの言葉があるときは、記入済みのセル範囲をコピーして、その場で貼り付ける。
#ただし
言わずもがなですが、文字列の途中に書式を施せるのは文字列を「生データ」で記入したときだけです。数式の計算結果などには一切そういう事はできません。
No.3
- 回答日時:
こんばんは!
一例です。
↓の画像のようにSheet2に色を付けたい文字と文字色(B列を塗りつぶし)の表を作成しておきます。
画面左下のSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub test() 'この行から
Dim i, j, k As Long
Dim str As String
Dim ws As Worksheet
Set ws = Worksheets("Sheet2")
Application.ScreenUpdating = False
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For j = 1 To ws.Cells(Rows.Count, 1).End(xlUp).Row
For k = 1 To Len(Cells(i, 1))
str = Mid(Cells(i, 1), k, Len(ws.Cells(j, 1)))
If str = ws.Cells(j, 1) Then
Cells(i, 1).Characters(Start:=k, Length:=Len(ws.Cells(j, 1))).Font.Color = _
ws.Cells(j, 2).Interior.Color
End If
Next k
Next j
Next i
Application.ScreenUpdating = True
End Sub 'この行まで
※ マクロなので「自動で!」という訳にはいきません。
データ変更があるたびにマクロを実行する必要があります。
参考になりますかね?m(_ _)m
![「エクセルで特定文字列の色つけ」の回答画像3](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/e/667667_5497e9c12c8e8/M.jpg)
No.2
- 回答日時:
VBAでマクロを作成することで出来ます。
Cells.Findで対象文字列を検索してセル移動し、Application.WorksheetFunction.Findでセル内の文字を検索し、戻り値がその文字列の開始位置になっているので、ActiveCell.Characters.(Start:=○○, Length:=○○).Fontのstartに入れて、検索文字列数をLengthに入れ、.Colorに自分の指定したい色を設定し、色を変えたら再度検索、という感じで実装は可能でしょうかね。
自分はVBAを使ってマクロを組んだことがないので、実際のソースコードは詳しい人におまかせ致します。
No.1
- 回答日時:
いいえ。
エクセルの一般機能では、言葉の一部だけを自動で書式設定させる方法はありません。
自動機能で出来るのは、あくまでもセル丸ごとが対象になります。
「天気」を含む言葉が記入された、セル全体の色を塗るとか文字色を変えるのように。
もちろん、手動で数式バーの中で「天気」の文字を選んで文字色を付けることはできます。
またマクロを使い、手動で行った通りにマクロでやらせる事もできます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで文字列と数字が混在する列に書式設定したい。 3 2022/12/19 09:11
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) エクセルでA列セル内で折り返すことなく、文字列を、B列C列・・・側に一行に 2 2022/07/23 02:02
- Excel(エクセル) Excelの文字列を転記したいのですが。 2 2022/09/30 12:09
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) エクセルについて教えてください。 1回目が80以上(数字) or 対象外 (文字列)or (空欄) 2 2022/10/17 11:42
- Excel(エクセル) エクセルのことで教えてください。 A1セルに、 別シートのA1セルが1のときは「A」、2のときは「B 4 2023/02/24 23:08
- その他(Microsoft Office) Excelの条件付き書式についての質問です。 2 2022/09/08 01:25
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件に応じて特定の行を非表示...
-
「マクロ」の足し算の式を教え...
-
Excel2007で、太字にした行のみ...
-
並べ替えのマクロで対象行の範...
-
(Excel2003)すぐ左の最後の行...
-
エクセル2003でマクロをおこな...
-
Excel にて非表示行を探すワー...
-
エクセル VBA 小数点を含む数字...
-
wordのvbaでハイパーリンク設定...
-
Excel2007 セルを右方向に削除...
-
Excelでセル内の数式は残し値だ...
-
Excel(VBA)データ入力に応じて...
-
整数行を残し小数点の行を削除...
-
ハイパーリンクからアドレスを...
-
エクセルで作る名簿をいつもあ...
-
エクセルを使って英文から単語...
-
エクセルで全ての数字間にカン...
-
Excelで連続印刷をするマクロ
-
昨日、エクセルVBAで、隣のセル...
-
エクセル 列データは買えずに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件に応じて特定の行を非表示...
-
Excel2007で、太字にした行のみ...
-
Excelで連続印刷をするマクロ
-
Excelでセル内の数式は残し値だ...
-
「マクロ」の足し算の式を教え...
-
エクセル VBA 小数点を含む数字...
-
エクセルで全ての数字間にカン...
-
Excel(VBA)データ入力に応じて...
-
wordのvbaでハイパーリンク設定...
-
Excel にて非表示行を探すワー...
-
Excel2007 セルを右方向に削除...
-
エクセル2003でマクロをおこな...
-
エクセルで、行ごとの並び替え...
-
値貼り付けをしても書式も貼り...
-
VBA コピーを有効行までループ...
-
yyyy/mm/ddの日付に一括変換す...
-
整数行を残し小数点の行を削除...
-
エクセルで特定の数字となる組...
-
エクセルで行と列を入れ替えキ...
-
エクセルで連番をマクロで
おすすめ情報