简单地说,就是在listbox控件的keypress事件里把listbox的visible属性改false,一运行excel就卡死。
做一个简单的测试:
先用下面的小程序给listbox填入一些值。
Private Sub CommandButton1_Click()
For n = 1 To 10
ListBox1.AddItem "test" & n
Next n
End Sub
然后加入以下代码,再选中listbox里任意一项,然后敲下空格,excel就失去响应了……屡试不爽
excel2007失去响应,excel2016也失去响应……
Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 32 Then
ListBox1.Visible = False
End If
End Sub
我调试过,绝大部分语句都执行正常,就是在end sub这一样,执行了就卡死。这一行不是仅仅是停止程序吗,没有什么死循环啊,为什么会导致excel卡死呢?
百思不得其解,求老师搭救!
做一个简单的测试:
先用下面的小程序给listbox填入一些值。
Private Sub CommandButton1_Click()
For n = 1 To 10
ListBox1.AddItem "test" & n
Next n
End Sub
然后加入以下代码,再选中listbox里任意一项,然后敲下空格,excel就失去响应了……屡试不爽
excel2007失去响应,excel2016也失去响应……
Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 32 Then
ListBox1.Visible = False
End If
End Sub
我调试过,绝大部分语句都执行正常,就是在end sub这一样,执行了就卡死。这一行不是仅仅是停止程序吗,没有什么死循环啊,为什么会导致excel卡死呢?
百思不得其解,求老师搭救!


