excel vba生成具有不同字体颜色的格式单元格
问题描述:
我想用vba生成特定布局的Excel表格。我的一个子程序是字体颜色。它看起来像这样:excel vba生成具有不同字体颜色的格式单元格
Sub SetFont(cell1, cell2 As range, fcolor As String)
range(cell1, cell2).Select
If fcolor = "w" Then
With Selection.Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
ElseIf fcolor = "b" Then
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
End If
End Sub
但它不起作用。字体始终以黑色生成。我不知道为什么。
答
它适用于我,但有一个逆转; xlThemeColorLight1
会产生黑暗的文字,而 xlThemeColorDark1
会产生更轻的文字,这是非常愚蠢的,但你去了。
Sub foo()
SetFont Range("A1"), Range("A6"), "b"
End Sub
Sub SetFont(cell1 As Range, cell2 As Range, fcolor As String)
If fcolor = "w" Then
With Range(cell1, cell2).Font
.ThemeColor = xlThemeColorLight1
End With
ElseIf fcolor = "b" Then
With Range(cell1, cell2).Font
.ThemeColor = xlThemeColorDark1
End With
End If
End Sub
无关,但如果你有cell1, cell2 As range
只cell2
声明range
类型,cell1
仍然是一个变种。
答
可能是尝试: 子setfont程序(小区1,小区2作为范围,fcolor作为字符串) 范围(小区1,小区2)。选择 如果fcolor = “W”。然后 随着Selection.Interior .ThemeColor = xlThemeColorLight1 .TintAndShade = 0 结束随着 elseif的fcolor = “b” 然后 随着Selection.Interior .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 结束随着 结束如果
结束子
对于cell1类型声明注释+1,一个常见问题的好例子 – datatoo 2011-06-09 15:43:06