我选择一个文本,改变它的颜色,它会告诉我这个。
Range("A7").Select
With Selection.Font
.ThemeColor = xlThemeColorAccent2
.TintAndShade = -1
End With
但是当我运行这段代码时,TintAndShade
无法工作。使用vba不能设置单元格中文本的亮度。是否有更改文本亮度的其他方法?或者如何使TintAndShade
正常工作?
我选择一个文本,改变它的颜色,它会告诉我这个。
Range("A7").Select
With Selection.Font
.ThemeColor = xlThemeColorAccent2
.TintAndShade = -1
End With
但是当我运行这段代码时,TintAndShade
无法工作。使用vba不能设置单元格中文本的亮度。是否有更改文本亮度的其他方法?或者如何使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
,然后使用它来设置相关单元格的字体亮度,完成后,只需删除临时工作表即可。
另一个解决方案是使用.color
而不是.interior.TintSndShade
。在Excel的主页选项卡和字体类别中找到所需的颜色和色调。然后记录一个宏,将单元格的字体颜色更改为所需的颜色。然后使用“更多颜色选项”并轻微地上下滑动较暗/较亮的条形。这将在您记录的Excel宏中给出.color
属性。
Dim texxt As String
texxt = Range(N_Range).Value
Range("R3").Copy 'this is my preset cell
Range(N_Range).Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = texxt