EXCEL VBA 窗体显示期间不执行下面代码,也不影响操作工作表?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL VBA 窗体显示期间不执行下面代码,也不影响操作工作表?相关的知识,希望对你有一定的参考价值。
我想设置1个窗口,用于询问是否的。(代替MSGBOX)
弹出窗体后,我可能要修改工作表,然后再按窗体上的按钮。
而且在我没有操作窗体之前(关闭),不要执行下面的代码。
代码1
代码2
MSG.Show()'等待窗口关闭,期间不要影响操作工作表。
代码4
代码5
如果是1,就说明是模态窗口,必须要等窗口关闭才能执行下面的语句
如果是0,说明是非模态窗口,可以直接执行下面的语句。
但如果在模态下,是不可以操作工作表的。
如果想既要能操作工作表,又不想执行下面的语句。建议还是把窗口设置为非模态窗口,后面的语句删掉,在窗口关闭后触发后续的事件。 参考技术A 代码1
代码2
MSG.Show() 0
DoEvents
代码4
代码5追问
我要的是停在 MSG.Show(),等关闭后才继续
追答那么,在你进行代码设计时,应该在窗体
msg的关闭事件中,写入代码4与代码5
那我有时不一定需要msg,有时可能需要跳过直接执行
追答我传个文件上来,你研究下吧。
窗体处理了之后,后继续运行的。
VBA调用宏的方式总结大全
文章目录
背景
很多小伙伴在拿到模型之后, 看着满屏的代码, 却不知道如何下手使用这些代码. 这篇文章就在于告诉你如何使用写好代码的Excel VBA模型
方式一 : Excel菜单执行宏
这种方式不需要写代码, 也不需要额外的绑定,操作步骤也很简单
开发工具>>宏>>选择宏名>>执行
-
截图👇
-
Gif动图👇
TIps: 开发工具菜单默认是隐藏的, 找不到菜单的时候, 参照这篇文章 🫱 "开发工具"在哪里
方式二 : 按钮绑定宏
除了直接按名字执行宏, 大部分时候开发者会选择绑定宏到按钮上, 这种方式会更加友好
1. 插入按钮
插入按钮的方式有至少3种
- 最古老而丑的方式是开发工具 >> 插入 >> 选择一个按钮
- 普通方式是插入 >> 形状 >> 选择一个
- 最新方式是插入 >> 图标 >> 选择一个 (需Office 365)
介绍一下普通方式
-
截图👇
-
Gif动图👇
2. 绑定宏
一般来说,插入按钮后都会在按钮中编辑一下文字,提示使用者这是什么,例如,输入:一键汇总(双击按钮即可输入). 然后在按钮点击鼠标右键弹出菜单,选择需要绑定的宏
-
截图👇
-
Gif动图👇
效果其实是和方式一一样的, 只是把入口放出来了, 友好一些
方式三 : 窗体绑定宏
这一步需要写代码, 并需要设计他原本就很丑的窗体, 使用起来感觉像是90年代的软件(不明白为什么30年了, 它还不更新UI)
需要进入VBE操作, 并且需要写代码
1. 插入窗体
2. 拖入按钮
并调整细节
3. 绑定按钮点击事件触发宏(写代码)
- 设计窗体触发事件
一般会设计在工作簿打开的时候加载, 这个时候,需要在ThisWorkbook下设计事件, 代码如下Private Sub Workbook_Open() Load UserForm1 End Sub
- 绑定窗体按钮点击事件
在UserForm1里写代码如下Private Sub CommandButton1_Click() Call listAll End Sub
- 设计窗体释放事件
这里需要设计了, 正常来说, 点击运行按钮, 运行完即自动关闭窗体, 也就是在上面步骤中加入多一行代码unload UserForm1
,如果你想写别的, 在这里写Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ' 这里写你的代码 End Sub
最后的界面大概是长这样
方式四 : 事件绑定宏
这个方式就太多了, 但是原理来讲的话, 又都是和方式三一样的, 在事件中加入call listAll
代码即可
- End -
以上是关于EXCEL VBA 窗体显示期间不执行下面代码,也不影响操作工作表?的主要内容,如果未能解决你的问题,请参考以下文章