下面的代码较早运行,但在双击单元格时不会执行。
Private Sub Worksheet_DoubleClick(ByVal Target As range, Cancel As Boolean)
If Target.Font.Bold = False Then
Target.Font.Bold = True
Target.Font.Color = vbRed
Else
Target.Font.Bold = False
Target.Font.Color = 1
End If
End Sub
没有回答为什么它不起作用(@Mat's Mug 和 @Scott Craner 打败了我again),但是代码的缩短版本。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target.Font
.Bold = Not .Bold
.Color = Choose(Abs(CLng(.Bold)) + 1, 1, vbRed)
End With
End Sub
好吧,虽然不像原来的那么容易理解,但它的作用如下:
Target.Font.Bold
是 TRUE 或 FALSE,所以Not .Bold
将返回相反的结果。
粗体 = TRUE,所以不粗体 = FALSE
Abs(CLng(.Bold)) + 1
同样,.Bold 要么是 TRUE,要么是 FALSE。数值上 TRUE = -1,FALSE = 0。
CLNG(.Bold)
将返回-1或0。
ABS(CLNG(.Bold))
将返回 1 或 0。
Abs(CLng(.Bold)) + 1
将返回 1 或 2 - 用于CHOOSE
命令返回vbRed
or 1
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)