根据变量设置单元格格式

时间:2015-12-06 17:07:47

标签: excel vba format

我对VBA很陌生,所以我认为这应该是一个简单的答案,如果已经问过这种事情或者它是否超级显而易见,我会道歉!

我试图根据另一个单元格中提供的值设置单元格的着色(具体来说,颜色和阴影设置为黑色或灰色)。我一直在' .ThemeColor = thmclr'线。我想我刚刚输入了' thmclr'有点不对劲在单元格I3和I4中的“其他表格”中。是黑色和灰色的正确颜色代码(取决于它是哪一个)。有人能够澄清我应该怎么做吗?谢谢!

Set thmclr = Worksheets("Othersheet").Range("I3")
Set tntshde = Worksheets("Othersheet").Range("I4")

With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .ThemeColor = thmclr
    .TintAndShade = tntshde
    .PatternTintAndShade = 0
End With

1 个答案:

答案 0 :(得分:0)

确保您从单元格中拾取的值对应于有效的 ThemeColors

xlThemeColorAccent1              5
xlThemeColorAccent2              6
xlThemeColorAccent3              7
xlThemeColorAccent4              8
xlThemeColorAccent5              9
xlThemeColorAccent6             10
xlThemeColorDark1                1
xlThemeColorDark2                3
xlThemeColorFollowedHyperlink   12
xlThemeColorHyperlink           11
xlThemeColorLight1               2
xlThemeColorLight2               4

TintAndShade

相同

修改#1:

例如,如果我们从:

开始

enter image description here

并运行此代码:

Sub cosmo()
Set thmclr = Worksheets("Othersheet").Range("I3")
Set tntshde = Worksheets("Othersheet").Range("I4")

With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .ThemeColor = thmclr.Value
    .TintAndShade = tntshde.Value
    .PatternTintAndShade = 0
End With
End Sub

我们得到:

enter image description here

请注意,两个控制单元格包含 NUMERIC 值。