- ベストアンサー
エクセルVBAでセルの元の値の色を残したまま、新しく加えた文字列の色を変更する方法
タイトルがわかりづらくてすみません。 具体的には、次のような表とマクロがあった場合 A B 1 1 1 2 2 3 3 4 4 5 5 Sub test() Dim a, g As Integer Dim f As String a = 1 Do f = Cells(a, 2).Value g = Len(Cells(1, 1).Value) Cells(1, 1).Value = IIf(Cells(1, 1).Value <> "", Cells(1, 1).Value & "+" & f, f) Cells(1, 1).Characters(start:=g + 2, Length:=Len(f)).Font.ColorIndex = 3 a = a + 1 Loop Until Cells(a, 2).Value = "" End Sub セルA1には「1+2+3+4+5」という結果が入りますが、最後の「5」だけが赤文字になります。 そうではなくて、新たに加えた「2+3+4+5」の部分すべてを赤文字にするにはどうすればよいでしょうか。 つまり、ループの最初の結果をそのまま保持したいということです。 未熟者なのと、もっと大きなマクロの一部を質問用に抜き出したものなので、たどたどしい文法になっていますが、その辺は目をつぶってください。 どうかよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
お礼
なるほど。 赤文字部分の長さに注目すればよかったんですね。 ありがとうございました。