我选择一个文本并更改其颜色,它告诉我
Range("A7").Select
With Selection.Font
.ThemeColor = xlThemeColorAccent2
.TintAndShade = -1
End With
但是,当我运行此代码时,
TintAndShade
无法工作。 vba无法分配单元格中文本的亮度。是否可以更改文本的亮度?或者如何使TintAndShade
工作? 最佳答案
我相信您使用的是Excel2010。很遗憾,这是Excel 2010中的错误。不确定它是否已在Excel 2013中得到纠正。
这是另一种选择。创建一个新的工作簿并将此代码粘贴到模块中。
逻辑:.TintAndShade
适用于单元格的.Interior
,因此我们将使用它而不是.TintAndShade
作为单元格的字体。
码:
Sub Sample()
Dim ws As Worksheet
Dim i As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
.Range("B1:B256").Value = "Blah Blah"
For i = 1 To 256
.Range("A" & i).Interior.ThemeColor = xlThemeColorAccent2
.Range("A" & i).Interior.TintAndShade = (i * 2 - 256) / 256
.Range("B" & i).Font.Color = .Range("A" & i).Interior.Color
Next i
End With
End Sub
屏幕截图:
运行此命令时,您将看到字体亮度的变化,如下面的屏幕快照所示。 :)
注意:
对于实时场景,请创建一个临时表,并在任何单元格中将其设置为
.Interior.TintAndShade
,然后使用它来设置相关单元格的字体亮度,完成后,只需删除该临时表即可。