魔方网表 让信息化更简单

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

查看: 2828|回复: 0

难得收藏教你一个按钮执行两个任务

[复制链接]
lnxxnchzyl 发表于 2009-8-9 20:19:00 | 显示全部楼层 |阅读模式
两个同类型事件,如果用两个按钮是否太占地方?
即使用菜单也不宜过多的菜单.
同一按钮执行多个过程,方法其实不少,常用的是改变按钮的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键执行宏的区别.
具体请看演示
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|魔方软件 ( 京ICP备08008787号 )

京公网安备 11010702001722号

GMT+8, 2025-9-6 19:15 , Processed in 0.067716 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表