excel vba生成具有不同字体颜色的格式单元格

我想用vba生成一个特定布局的excel表单。 我的一个子程序是字体颜色。 它看起来像这样:

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被声明为typesrangecell1保持一个变种。

可以试试这个:Sub SetFont(cell1,cell2作为范围,fcolor作为string)range(cell1,cell2)。select如果fcolor =“w”然后With Selection.Interior.ThemeColor = xlThemeColorLight1 .TintAndShade = 0 End With ElseIf fcolor = “b”然后用Selection.Interior.ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With End If

结束小组