我有一个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
列表框接受点击,首先接受事件(事件处理程序是上面的给予者)。事件处理程序的关键部分是:
'frmForm2代码模块的一部分
sub cmdExit_Click
me.hide
end sub
第一次它运行正常 - 但是当我返回到frmForm1(在lstListBox_Click程序的尾端)时,即使表单的其余部分有效,列表框仍然固执地没有响应。
如果有帮助的话,我已经设法将它抽象为一个小的演示系统 - 在那里可以看到相同的行为。 (这是常规的.xls文件,但这似乎不容易作为上传接受)
有没有人见过这个?有没有人有任何想法如何让我按照我想要的方式工作?
谢谢,
Tony
答案 0 :(得分:1)
.Show
方法的默认设置是制作表格modal。明确地将其设置为无模式:
Sub lstListbox_Click
...
Me.Show vbModeless
End Sub