マクロ実行で以下のように一括色変更できないでしょうか?
1文字での変更は下記コードでおこなうことができましたが、複数であると初心者でとても分かりません。
※S25とF30.、F5.は加工進行でいろいろ数値のみ変えます。
※M100、M101は全体の4文字は変わりませんが数字は増えていき、ランダムにこの先の加工進行上でてきます。
※M03、M00は3文字で変わりません。
現在以下のコードで1文字ずつならできます。
Sub test01()
Dim cl As Range
For Each cl In Range("a1:a10")
r = InStr(cl, "M00")
If r <> 0 Then
cl.Characters(r, 3).Font.ColorIndex = 3
End If
Next
End Sub
No.1
- 回答日時:
S25とF30.とF5.において、数字部分の桁数が変化しないのでしたら、
Sub test01()
Dim cl As Range
For Each cl In Range("a1:a10")
r = InStr(cl, "M00")
If r <> 0 Then
cl.Characters(r, 3).Font.ColorIndex = 3
End If
r = InStr(cl, "M03")
If r <> 0 Then
cl.Characters(r, 3).Font.ColorIndex = 4
End If
r = InStr(cl, "M")
If r <> 0 And (cl Like "*M[0-9][0-9][0-9]*") Then
cl.Characters(r, 4).Font.ColorIndex = 5
End If
r = InStr(cl, "S")
If r <> 0 And (cl Like "*S[0-9][0-9]*") Then
cl.Characters(r, 3).Font.ColorIndex = 6
End If
r = InStr(cl, "F")
If r <> 0 And (cl Like "*F[0-9][0-9].*") Then
cl.Characters(r, 4).Font.ColorIndex = 7
End If
r = InStr(cl, "F")
If r <> 0 And (cl Like "*F[0-9].*") Then
cl.Characters(r, 3).Font.ColorIndex = 9
End If
Next
End Sub
という感じでどうでしょうか。
早速やってみまして出来ました。!!こんなにうまくいくなんて!MSZ006 さん ありがとうございました。今まで一つ一つ目で追ってやっていたが時間の無駄に感じています。
No.2
- 回答日時:
こんにちは!
一例です。
↓の画像のように別列(今回はC列)に色をつけたいデータを入力しておきます(空白セルがないように!)
データはA列の1行目からあるとします。
Sub Sample1()
Dim i As Long, k As Long
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
For k = 1 To Cells(Rows.Count, "C").End(xlUp).Row
If InStr(Cells(i, "A"), Cells(k, "C")) > 0 Then
Cells(i, "A").Characters(Start:=InStr(Cells(i, "A"), Cells(k, "C")), Length:=Len(Cells(k, "C"))). _
Font.ColorIndex = 3
End If
Next k
Next i
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.4
- 回答日時:
No.2・3です!
たびたびごめんなさい。
前回の方法はA列セルにC列データが1回しか出現しない!という前提ですので、
複数回出現し、すべてに色を付けたい場合は
A列の文字を舐めるように検索していく必要があると思います。
※ 余計なお世話かもしれませんが、投稿後に気になったもので・・・
どうも失礼しました。m(_ _)m
丁寧な解答ありがとうございます。
このコードも大変役に立つと感じました。
さらにD列、E列、F列、G列まで色を配置して列による
文字の色管理ができれば完璧です。
初心者ですので前回のコードも含めて最後までのコードが
知りたいです。
No.5ベストアンサー
- 回答日時:
No.2・3・4です!
親の仇のように顔をだします。
No.4のお礼欄に
>D列、E列、F列、G列まで色を配置して
とありましたので・・・
列で色を決めるのではなく、前回のC列データのフォントを好みの色にしておいて
その文字はその色に表示する!という考え方でのコードにしてみました。
※ 今回は複数回出現してもC列にあるデータはすべてをC列データ色にするようにしています。
Sub Sample2()
Dim i As Long, k As Long, n As Long, str As String
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
For k = 1 To Cells(Rows.Count, "C").End(xlUp).Row
For n = 1 To Len(Cells(i, "A"))
str = Cells(k, "C")
If Mid(Cells(i, "A"), n, Len(str)) = str Then
Cells(i, "A").Characters(Start:=n, Length:=Len(str)).Font.Color = Cells(k, "C").Font.Color
End If
Next n
Next k
Next i
End Su
こんなんではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/01/06 08:39
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- Visual Basic(VBA) 以下のVBAで該当文字列の前後に付与したい。 例 前に付与 abc ユーザーID 12345 後に付 3 2022/04/19 21:50
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Excelで数式内の文字色を一部だけ変更したい
Excel(エクセル)
-
EXCEL VBA で特定の文字に色をつけるマクロを書きたいのですが
Excel(エクセル)
-
VBAで特定の文字以降の文字列の色の変更をしたい
Excel(エクセル)
-
-
4
EXCEL VBA 1つのセル内の文字に複数色の色指定について
Visual Basic(VBA)
-
5
エクセルVBA:リストに登録した単語と一致する文字色のみを、変更する方法
Excel(エクセル)
-
6
エクセルVBAで複数セルの色を変更する方法
Excel(エクセル)
-
7
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
8
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
9
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
10
エクセルの色も=イコールできますか?
Windows Me・NT・2000
-
11
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
12
【vba】指定範囲の中に任意の文字があるときの条件分岐
Excel(エクセル)
-
13
ピボットテーブルでの毎回可変するデータの最終行までの範囲を指定したいです。
PowerPoint(パワーポイント)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
関数を教えて下さい。
-
スマートな関数を教えて下さい。
-
2つのエクセルのデータを同じよ...
-
エクセルで最初のスペースまで...
-
「B列が日曜の場合」C列に/...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 時間帯の重複の有無
-
エクセル 文字数 多い順 並...
-
エクセルの並び変えで、空白セ...
-
VBAで文字列を数値に変換したい
-
EXCELで 一桁の数値を二桁に
-
エクセル(勝手に太字になる)
-
オートフィルターをかけ、#N/A...
-
エクセルの表から正の数、負の...
-
エクセルで文字が混じった数字...
-
Excel関数(通常はA列優先で、...
-
Excelで半角の文字を含むセルを...
-
A列がない・・・A列が非表示に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル 同じ値を探して隣の...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
エクセルの項目軸を左寄せにしたい
-
Excel、市から登録している住所...
-
エクセルで、列の空欄に隣の列...
-
エクセルの表から正の数、負の...
-
エクセルの並び変えで、空白セ...
-
VBAで文字列を数値に変換したい
-
A列がない・・・A列が非表示に...
-
文字列に数字を含むセルを調べたい
-
50人を数回、グループ分けする...
おすすめ情報