我有一个带字符串的主单元格,我需要将另一个单元格的值连接到它。主单元格中的文本用几种颜色上色,当我连接第二个单元格的值时,主单元格的格式恢复为自动(所有颜色均丢失)。 将另一个值连接到字符串时,请协助您保存文本颜色。
这是我的代码:(运行几次)
Sub Adding_Text()
Dim STR As String
LenC = Len(Sheets("T_list").Range("W1")) 'len of main cell
LenTR = Len(Sheets("T_list").Range("W2")) 'len of the value of second cell - which will be added to main cell
STR = Sheets("T_list").Range("W2").Value '
Sheets("T_list").Range("W1").Value = Sheets("T_list").Range("W1").Value & STR & ", "
Sheets("T_list").Range("W1").Characters(Start:=LenC + 1, Length:=LenTR).Font.Color = -16711681 'yellow
Sheets("T_list").Range("W1").Characters(Start:=LenC + 1 + LenTR, Length:=2).Font.Color = -16250872 'black
End Sub
答案 0 :(得分:2)
使用空白的“帮助程序”单元格来存储原始单元格字符格式。
Sub Adding_Text()
Dim i As Long
With Worksheets("T_list")
.Range("W1").Copy Destination:=.Range("W3")
.Range("W1") = .Range("W3").Value2 & .Range("W2").Value2
For i = 1 To Len(.Range("W3").Value2)
.Range("W1").Characters(Start:=i, Length:=1).Font.Color = _
.Range("W3").Characters(Start:=i, Length:=1).Font.Color
Next i
For i = i To Len(.Range("W2").Value2) + Len(.Range("W3").Value2)
.Range("W1").Characters(Start:=i, Length:=1).Font.Color = _
.Range("W2").Characters(Start:=i - Len(.Range("W3").Value2), Length:=1).Font.Color
Next i
.Range("W3").Clear
End With
End Sub
答案 1 :(得分:0)
您可以使用:
取消颜色索引Sub Test()
Dim GetFontColor As Variant
GetFontColor = Sheet1.Range("A1").Font.ColorIndex
End Sub