用于更改列字体颜色的选项按钮用户表单

Option Button User for m to chnage Column Font Colour

我在用户表单中有两个选项按钮,我需要执行以下操作。

如果单击选项按钮 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

只需删除 SelectSelection 即可使其正常工作:

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

你必须坚持你的叙述

  • 避免select并使用直接range引用

    从而防止合并单元格扩大受代码影响的单元格范围

  • 交换选项按钮代码

如下:

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