『セル全てではなく、セル内の重複文字だけ書式設定したい』(パパ)
こんにちは
エクセルで一覧表を作っています
月別売上で対象者名を月次で入力しています
(セルひとつの中に複数名入力、alt.エンターで改行して入力)
この一覧表の中で重複する人がいる場合、背景は黒・文字色を白に設定したいのですが、
エクセルではセル全体の設定しかできないのでしょうか?
文字だけを書式設定する方法があれば教えてください
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
例えば、A1セルに「aaa」Alt+Enter「bbb」と入力してセル内改行して、
bbbの部分を選択して右クリック→書式設定を選択してみてください。
文字の書式設定は変えられても塗りつぶしタブは出てきませんよね。
ちなみに...
セル内改行を使用している時点で、
一覧表になっていないと思います。
私から見ると図形か帳票フォーマットにしか見えません。
どうしてもやりたいのであれば、
セル内改行部分を含めて別シートの1セルに1データで転記していき、
重複している人に対して、文字色とセルの背景色を変更して、
さらに罫線のを調整して引いて、目盛り線を非表示にしたものを
図形として元のシートに貼り付ける
という方法ですかね。
他の方法もあるかもしれません。
(匿名) 2026/03/10(火) 17:15:38
excelのデフォルト設定では 背景→セル毎 文字→文字毎 までの粒度でしか設定できません。
ネガポジ反転とかネガティブって呼ばれるフォントを探すか作ってインストールしてください
(ちくわ) 2026/03/11(水) 09:28:46
マクロをつっかえば手動で地道に色を変える作業と同じことができるけど・・・ 頑張って1からマクロを勉強しますかね? ただ、どこからどこまでが名前だかわからない(判別できない) (What) 2026/03/18(水) 08:18:53
Dim rng As Range
Dim cell As Range
Dim parts() As String
Dim dict As Object
Dim i As Long, startPos As Long
On Error Resume Next
Set rng = Application.Selection
On Error GoTo 0
For Each cell In rng
If Len(cell.Value) > 0 Then
parts = Split(cell.Value, vbLf)
Set dict = CreateObject("Scripting.Dictionary")
For i = LBound(parts) To UBound(parts)
dict(parts(i)) = dict(parts(i)) + 1
Next i
cell.Characters.Font.ColorIndex = xlAutomatic
startPos = 1
For i = LBound(parts) To UBound(parts)
If dict(parts(i)) > 1 Then
cell.Characters(startPos, Len(parts(i))).Font.Color = vbRed
End If
startPos = startPos + Len(parts(i)) + 1
Next i
End If
Next cell
End Sub
(?) 2026/03/18(水) 16:13:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.