簡體   English   中英

更改單元格中部分文本的字體顏色

[英]Change font color for a part of text in cell

我有包含以下值的單元格

"Image not allowed|png"

我想單獨更改|png的顏色或“|”之后的任何內容

現在我正在嘗試使用以下代碼更改字體顏色

Cells(4,2).Font.Color = RGB(255, 50, 25)

它將更改整個單元格的字體顏色,是否可以使用 VBA 僅更改選定的文本顏色( |png )?

您可以使用Characters單元格的屬性,例如:

Cells(1,1).Characters(Start:=2, Length:=3).Font.Color = RGB(255, 0, 0)

這應該是一個好的開始:

Sub vignesh()
Dim StartChar As Integer, _
    LenColor As Integer

For i = 1 To 5
    With Sheets("Sheet1").Cells(i, 1)
        StartChar = InStr(1, .Value, "|")
        If StartChar <> 0 Then
            LenColor = Len(.Value) - StartChar + 1
            .Characters(Start:=StartChar, Length:=LenColor).Font.Color = RGB(255, 0, 0)
        End If
    End With
Next i

End Sub

是的,這是可能的。 探索 Excel 對象模型的一個好方法是使用宏記錄器記錄一個宏,您可以在其中手動執行您感興趣的操作。

在這種情況下,您可以使用:

Cell.Characters(Start:=1, Length:=5).Font

設置單元格中子字符串的字體屬性。

是否可以只更改選定的文本顏色

簡單的

Option Explicit
Sub Test()
    With Selection.Font
        .ColorIndex = 3 
    End With
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM