0
特定の記号を表示するフォントがあります。標準/デフォルトフォントでシートに入力されます。私はこれらの文字を識別し、これらの文字のフォントを自分のシンボルフォントに変更することができますが、セル内に複数の識別されたシンボルがあるときに正しく動作するようにするには問題があります。Excelセルで複数のサブストリングのフォントを変更する
例えば、細胞については含まれていてもよい:
この値はXとY、およびZ
ある私は
X、Y、及びZのフォントを変更する必要があります現在、vba経由で文字のフォントを変更する方法は次のとおりです。
Sub InsertFont(insertRange As Range, symbolText As String, symbolPosition As Integer)
Dim cellText As String
Dim newValue As String
cellText = insertRange.Value2
newValue = Replace(cellText, symbolText, SymbolDict.Item(symbolText), 1, 1)
insertRange.Value2 = newValue
With insertRange.Characters(symbolPosition, Len(SymbolDict.Item(symbolText))).Font
.Name = "MyFont"
End With
End Sub
oblemは各フォントの変更後に、残りのセルはデフォルトのフォントに戻ります!どのようにして、すべての変更に対してフォントの変更をスティックすることができますか?
最終結果:
この値は、コメントを経由して@TimWilliamsの提案ごとにXとYで、かつ☹
何ですか'SymbolDict'では? – Comintern
セルに「混合」書式が設定されたら、「文字」メソッド(挿入/削除)でセル内容をすべて変更する必要があります。あなたが見ているように、 'Value'を使うと文字単位の書式がリセットされます –
@Comintern Keyは置き換えようとするテキストで、itemはそれを置き換える新しい値です。 – GisMofx