|
两个同类型事件,如果用两个按钮是否太占地方?
即使用菜单也不宜过多的菜单.
同一按钮执行多个过程,方法其实不少,常用的是改变按钮的Caption,然后根据Caption选执行哪一个过程
今天教大家利用Shift键来区分执行程序.即按住Shift键后执行一个程序,而直接单击按钮则执行另一个过程.
过程的功能为切换当前工作表的分页符,即让它显示与隐藏.而只需要一个按钮来完成
具体代码如下
Declare Function GetKeyState Lib "user32" (ByVal nvirtkey As Long) As Integer
Sub Shifts()
Const vk_shift As Integer = &H10
If GetKeyState(vk_shift) < 0 Then Call A Else Call B
End Sub
Sub A()
ActiveSheet.DisplayAutomaticPageBreaks = True
End Sub
Sub B()
ActiveSheet.DisplayAutomaticPageBreaks = False
End Sub
当然,如果你对VBA够熟,不需要上述三个过程,用以下过程即可
免费内容:
Declare Function GetKeyState Lib "user32" (ByVal nvirtkey As Long) As Integer
Sub Shifts()
Const vk_shift As Integer = &H10
ActiveSheet.DisplayAutomaticPageBreaks = (GetKeyState(vk_shift) < 0)
End Sub
大家可以复制以上代码到模块中,仍然指定一个按钮并执行宏,看看按住Shift键执行宏和不按住Shift键执行宏的区别.
具体请看演示
 |
|