只要在范围中输入特定值,就更改字体大小

时间:2018-04-25 17:00:30

标签: vba fonts font-size

我的问题很简单:我在Excel上有一系列单元格,用户可以输入3到11之间的任何值。我已经有一个宏,只要在我的工作表上输入3或11就会运行范围。但是,我希望第二个宏只在输入11时触发,自动将字体大小从11增加到12。

以下是我要做的事情:

Sub Increase_Character_Size(ByVal Target As Range)

If (Target.Column >= 7 And Target.Column <= 16) Or (Target.Column >= 17 And Target.Column <= 26) And Len(Target.Value) > 0 Then
    If Target.Value = 11 Then
        Cells(Target.Row, Target.Column).Font.Size = 12
    Else
        Cells(Target.Row, Target.Column).Font.Size = 11
    End If
End If

End Sub

但它似乎根本没有任何效果。 有什么建议?提前谢谢!

注意:我对Font.Size编码很新,所以请原谅怪诞的错误!

2 个答案:

答案 0 :(得分:0)

Cells(1,1).Font.Size = 12立即在我的Excel中运行。也许你正在改变一个错误的单元格或if中的条件不正确?

您是否正在使用特殊活动来做您想做的事情?类似于:Private Sub Worksheet_Change(ByVal Target as Range)

答案 1 :(得分:0)

将代码放入工作表模块,Worksheet_Change()事件:

Private Sub Worksheet_Change(ByVal Target As Range)
    With Target
        If Val(.Value) = 11 And .CountLarge = 1 Then
            If .Column >= 7 And .Column <= 26 Then .Font.Size = 12
        End If
    End With
End Sub

如果已经有其他操作

,请将操作附加到Worksheet_Change()