向表中添加新行时Excel停止工作
我不知道为什么,但是当我尝试这样做Excel退出而不保存任何东西:
-
在
Sheet1
我有11行x 6列格式化为表。 第一行作为表格标题。 -
我使用名称pipe理器将
col A
指定为STU_ID
命名范围。 -
我只有一个用户窗体上的列表
listbox
。 我给RowSource属性=STU_ID
。 我在列表框上得到col A
数据。 -
现在,当我转到
Sheet1
并尝试在表格的下一行添加更多数据时。 Excel退出说它已停止工作。 Windows正在检查错误,并在空白Workbook
上重新启动。
不应该ListBox是dynamic的,并从名称pipe理器获取数据,因为我将它们添加到工作表上?
我在Win 10 64位上使用MS Excel Pro 13。
这是Excel中的一个错误。 作为一种解决方法,请使用.List
属性而不是.RowSource
。
在UserForm的代码中尝试如下所示:
Private Sub UserForm_Initialize() ListBox1.List = Range("table1[abc]").Value End Sub
这样它将是dynamic的,它将工作。
如果您在显示用户窗体时需要更改它,请在工作Sheet change
事件中添加一个小代码,该工具会在每次更改工作表时更新列表。 (这只有在你的表单是模态的时候才需要,而且你希望它能反映实时的变化。)