我在用户表单中有两个选项按钮,我需要执行以下操作。
如果单击选项按钮1,则以白色字体(仅限文本)创建整个列F
如果单击选项按钮2,则将整个列F设为深蓝色字体(仅限文本)。
我已经提出了下面的代码,但问题是,当我单击任何选项按钮时,宏会更改整个工作表的字体颜色,我只想在COLUMN F中更改它。
Private Sub OptionButton1_Click()
'Option Button Hide
Columns("F:F").Select
Range("F114").Activate
With Selection.Font
.Color = -10477568
.TintAndShade = 0
End With
End Sub
Private Sub OptionButton2_Click()
'Option Button Unhide
Columns("F:F").Select
Range("F114").Activate
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
End Sub
答案 0 :(得分:1)
站在你的叙述中你必须
避免select
并使用直接range
参考
并因此阻止合并的单元格扩大受代码影响的单元格范围
交换OptionButtons代码
如下:
Private Sub OptionButton1_Click()
'Option Button Hide
With Columns("F:F").Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
End Sub
Private Sub OptionButton2_Click()
'Option Button Unhide
With Columns("F:F").Font
.Color = -10477568
.TintAndShade = 0
End With
End Sub
答案 1 :(得分:0)
只需移除Select
和Selection
即可使其正常运行:
Private Sub OptionButton1_Click()
'Option Button Hide
With Columns("F:F").Font
.Color = -10477568
.TintAndShade = 0
End With
End Sub
Private Sub OptionButton2_Click()
'Option Button Unhide
With Columns("F:F").Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
End Sub