繁体   English   中英

VBA - 根据工作表标签颜色更改特定单元格值的字体颜色

[英]VBA - Change font color of specific cell value based on a sheet tab color

我在单元格 V6 中有一个值,如果名为“测试”的特定工作表选项卡的颜色为红色 (vbRed),我希望它更改其颜色。 我尝试了一个代码,但它似乎并没有改变单元格中文本的颜色。 我想知道出了什么问题以及可以做些什么来解决它。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Test")
If ws.Tab.ColorIndex = vbRed Then
Range("v6").Font.Color = vbRed
End If
End Sub

一种方法是使用Boolean变量(我称之为变量 colortest)来测试标签颜色是否等于 vbRed。

如果选项卡是 vbRed,则此示例代码将字体颜色变为红色,如果选项卡是 vbRed 以外的任何其他颜色,则将字体颜色变为黑色。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ws As Worksheet, colortest As Boolean
Set ws = ThisWorkbook.Sheets("Test")

colortest = Sheets("Test").Tab.Color = vbRed

If colortest = True Then
    Range("v6").Font.Color = vbRed
ElseIf colortest = False Then
    Range("v6").Font.Color = vbBlack
End If

End Sub

`

注意:我使用了Worksheet_SelectionChange ,因此代码在您单击单元格时立即运行,而不必像在Worksheet_Change中那样编辑单元格

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM