我的问题很简单:我在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编码很新,所以请原谅怪诞的错误!
答案 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()