【发布时间】:2023-03-30 01:05:01
【问题描述】:
我有一个 VBA (Excel 2010) 系统,它涉及从列表框中选择一个项目,然后以另一种形式显示它。这是发生的事情的一个非常简化的版本。
' Part of frmForm1 code module
sub lstListbox_Click
dim MyEvent as string
dim i as integer
i=me.lstListbox.listindex
MyEvent=me.lstlistbox.list(i)
' Now show the item in the second form
Load frmForm2
me.hide
ThisWorkbook.LoadDataIntoForm2 (frmForm2, MyEvent)
frmForm2.show
unload frmForm2
me.show
end sub
列表框接受点击,首先接受事件(事件处理程序是上面的给予者)。事件处理程序的关键部分是:
- 加载第二个表单(显示详细数据)
- 将第二个表单作为 UserForm 参数传递给过程 (LoadDataIntoForm2)
- 隐藏主窗体 (frmForm1) 并显示第二个窗体 (frmForm2)
- 当第二个表单处理退出点击时,代码如下所示:
' frmForm2 代码模块的一部分
sub cmdExit_Click
me.hide
end sub
第一次它工作正常 - 但是当我返回 frmForm1(在 lstListBox_Click 过程的尾部)时,即使表单的其余部分是可操作的,列表框仍然顽固地没有响应。
如果有帮助的话,我已经设法将其抽象为一个小演示系统 - 在那里可以看到相同的行为。 (它是常规的 .xls 文件,但作为上传文件似乎不太容易接受)
有人见过吗?有没有人知道如何让它按照我想要的方式工作?
谢谢,
托尼
【问题讨论】:
-
我以前没见过,但是如果你钩入
_Change事件,它会做同样的事情吗?