首次使用后,VBA列表框无响应

时间:2012-01-21 16:10:35

标签: vba listbox

我有一个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文件,但这似乎不容易作为上传接受)

有没有人见过这个?有没有人有任何想法如何让我按照我想要的方式工作?

谢谢,

Tony

1 个答案:

答案 0 :(得分:1)

.Show方法的默认设置是制作表格modal。明确地将其设置为无模式:

Sub lstListbox_Click
...
Me.Show vbModeless

End Sub