向表中添加新行时Excel停止工作

我不知道为什么,但是当我尝试这样做Excel退出而不保存任何东西:

  1. Sheet1我有11行x 6列格式化为表。 第一行作为表格标题。

  2. 我使用名称pipe理器将col A指定为STU_ID命名范围。

  3. 我只有一个用户窗体上的列表listbox 。 我给RowSource属性=STU_ID 。 我在列表框上得到col A数据。

  4. 现在,当我转到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事件中添加一个小代码,该工具会在每次更改工作表时更新列表。 (这只有在你的表单是模态的时候才需要,而且你希望它能反映实时的变化。)