打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
教程 | 10个值得收藏的VBA写法(第6集)

写在前面

编程的人都知道,通过代码解决一个实际问题有时候并不是看上去那样,背后可能隐藏着很巧妙的实现逻辑,这些只有开发者才能真正领悟其中的妙处,相对于给人刻板印象的编程人员来说,这些恰恰是其闪光点所在。

笔者(公众号:URItker)将通过几期文章系统梳理VBA编程中会经常遇到的一些写法,它们仿佛散落在沙滩上的贝壳,有的色彩缤纷,有的深掩在沙中,有些可能已经在你的口袋里,那就权当加深印象,有的也许正是你所需要的,就刻意运用一下,说不好能让你豁然开朗,使编程效果事半功倍!


加载窗体

Load Userform1
只是装载窗体到内存中而不显示,可用于引用窗体上定义的值而不被察觉。

隐藏窗体

Userform1.Hide
需要隐藏或者关闭一个窗体时,可以用Hide,这个时候只是把窗体隐藏了起来,回到了load的状态,仍然在内存中。再次调起窗体,值保持不变。

卸载窗体

Unload Userform1或Unload Me
通过Unload可以把窗体从内存中删除,释放窗体所占用的内存空间,再次调用窗体,窗体控件上的值全部被初始化。

显示窗体

UserForm1.Show 0

窗体显示方式分两种:有模式和无模式

有模式指只显示本窗体,只能在本窗体使用控件,无法选择其他窗体或者工作表对象。由ShowModal控制,值为TRUE,表示有模式。

无模式下可以同时显示多个窗体,能在多个窗体间切换,注意,这个时候其他窗体也必须是无模式的,ShowModal=false表示无模式。

通过代码设置显示模式,即

1)强制使用有模式显示:UserForm1.Show 1

2)强制使用无模式显示:UserForm1.Show 0


禁用事件

Application.EnableEvents=False
禁止触发事件,特别是chang事件,可以避免非目标位置内容发生变化反复触发事件造成无效运行导致效率低。

启用事件

Application.EnableEvents=True

启用事件触发,多于禁用成对出现,再事件末尾记得打开开关,否则事件函数将失效。

定义第三方对象

Set d=CreateObject('Scripting.Dictionary')
创建一个Dictionary对象变量,即定义字典,这里用到了第三方对象库,涉及到类似对象的定义多用这种方法。

添加关键字

d.Add 'a','Athens'
为对象变量d添加关键字

定义快捷键

Application.OnKey '^T','test'
设置Ctrl+T键为test过程的快捷键,其中“^”表示用CTRL作为组合键的母键,如果是“+^T”,则表示CTRL+SHIFT作为母键。

禁用复制

Application.CutCopyMode=False

禁用复制功能,当我们为了禁用文档内容被复制,可以加上这段代码,它本质上是禁用剪贴板,属于变相地禁用了复制功能。

未完待续

THE

END

创作不易,

您的支持是我坚持的动力,

劳烦动动手指转发在看

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA 窗体右上角的关闭按钮事件 UserForm_QueryClose
Excel QueryClose事件的疑问,CloseMode <> 1 Then Cancel = 1
窗体及控件的常用事件
Excel中vba Unload介绍
EXCEL VBA登录窗体设计
VBA userform窗体按键keydown keyPress无响应
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服