【发布时间】:2018-03-29 15:34:26
【问题描述】:
我正在尝试编写一个允许我在字体颜色之间切换的宏。为了简单起见,我们只说两种字体颜色。从黑色到蓝色或从蓝色到黑色。
但是,我希望 excel 告诉我的宏是选择了黑色还是蓝色字体(在当前单元格中或一般情况下)。然后从那里确定要更改为哪种颜色。
因此,如果工具栏上的字体颜色选择为黑色,它将运行将字体更改为蓝色(通过运行以下脚本的适当部分)。如果工具栏上的字体颜色选择为蓝色,它将运行将字体更改为黑色(也可以通过运行以下脚本的适当部分)。
下面,我有将字体颜色更改为蓝色或黑色的代码。 这里的问题是我不知道正确的语法或代码让 excel 确定工具栏上当前选择的字体颜色(或单元格,如果在工具栏上这样做是不可能的)。确定字体颜色是我遇到问题的宏的第一部分。
感谢您的帮助!
Sub toggle()
'need code to determine font color, then to execute appropriate code below
With Selection.font
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0
End With
Exit Sub
blackpath:
With Selection.font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
End Sub
【问题讨论】:
-
if Selection.font.ThemeColor = xlThemeColorAccent1 then...? -
谢谢,感谢您的帮助。您的 if-then 语句绝对可以解决问题。但是,我只是注意到,通过尝试简化我的问题以便更容易理解,因此将其框定为 2-case 问题(黑色或蓝色)会消除一些其他问题。有没有办法确定工具栏上的字体颜色选择?(而不是活动单元格本身,我开始相信这是不可行的。)
-
那么,您想知道用户当前为字体颜色选择了什么,而不仅仅是当前选择的内容?
-
是的,没错。这是我要解决的更大问题的一部分。如何确定在工具栏上选择的字体颜色(开始或其他属性)(在任何特定的选定单元格上都不需要)?我真的开始认为这在 vba 中是不可行的,因为 vba 只是应用或提取一个对象或属性,而工具栏更像是一个应用选定颜色的菜单。 (如果这有意义的话。)
标签: excel vba fonts colors case