2015-11-27 3 views
2

я не знаю, почему, но когда я пытаюсь сделать это Excel завершает работу без сохранения ничего:Excel перестает работать при добавлении новой строки в таблице

  1. На Sheet1 У меня есть 11 строк х 6 смещ_по_столбцам отформатированные в Таблица. С 1-й строкой в ​​виде заголовка таблицы.

  2. Я назначил col A как STU_ID Именованный диапазон с использованием диспетчера имен.

  3. У меня есть только listbox на Userform. И я даю свойство RowSource как =STU_ID. Я получаю данные col A в списке.

  4. Теперь, когда я перехожу к Sheet1 и пытаюсь добавить дополнительные данные в следующую строку таблицы. Excel прекращает работу. Windows проверяет наличие ошибки и перезапускается на пустой Workbook.

не должна Listbox быть динамичной и получить данные от имени менеджера, как я добавляю их на листе?

Я использую MS Excel Pro 13 на Win 10 64 бит.

+0

Странно. Попробуйте использовать правильные имена «Таблица» вместо «Именованный диапазон» в «Менеджере имен». Например. '= Table1 [HeaderOfMyColoumn]' (очевидно, используйте имя вашей таблицы и фактическое имя столбца.) – vacip

+0

okay Позвольте мне попробовать, это скоро сообщит вам – newguy

+0

@vacip. То же самое результаты он перезапустил, когда я пытаюсь добавить новые данные в таблицу – newguy

ответ

2

Это ошибка в Excel. В качестве обходного пути используйте свойство .List вместо .RowSource.

попробовать что-то вроде этого в коде UserForm в:

Private Sub UserForm_Initialize() 
    ListBox1.List = Range("table1[abc]").Value 
End Sub 

Таким образом, он будет динамичным, и он будет работать.

Если вам нужно его изменить во время отображения пользовательской формы, поместите небольшой код в событие Sheet change, который обновляет список при каждом изменении листа. (Это необходимо, только если ваша форма является модальной, и вы хотите, чтобы она отражала изменения, сделанные в режиме реального времени.)

+0

Хорошо спасибо, я попробую это. – newguy

+0

Итак, это сработало? – vacip

Смежные вопросы