2015-01-05 2 views
0

Я уверен, что это что-то простое, но я посмотрел на все и не могу найти объяснения. Разумеется, многие другие люди хотели бы переместить модули и пользовательскую форму в другую книгу. Я экспортировал 3 модуля и 1 пользовательскую форму, а затем импортировал их в новую книгу. Имя пользовательской формы, которое было экспортировано, было «NUI», и когда я смотрю на свойства в новой книге после импорта имени, все еще «NUI». Однако теперь, когда я пытаюсь запустить sub для отображения пользовательской формы, я получаю ошибку несоответствия данных во время выполнения, а NUI выделяется в строке NUI.StartUpPosition. Любые идеи, почему это больше не работает? Есть ли какая-то связь, которая должна быть нарушена? Модуль по-прежнему пытается найти некоторый пользовательский NUI в других файлах? Если я удалю пользовательскую форму в новой книге и добавлю новую пользовательскую форму, когда я попробую назвать ее NUI, она сообщит мне, что имя используется. Есть идеи?Тип несоответствия при вызове пользовательской формы

Sub CallUserForm() 
    ' Calls UserFrom NUI and centers it to excel window whether it is full screen or not. 
    PO.Unprotect Password:="1234" 
    PO.Activate 

    NUI.StartUpPosition = 0 
    NUI.Top = Application.Top + 125 
    NUI.Left = Application.Left + Application.Width/2 - NUI.Width/2 
    NUI.Show 
    PO.Protect Password:="1234" 
End Sub 

ответ

0

Я просто попробовал то, что вы описали (экспортировать форму и модуль, импортировать в новую таблицу). Это сработало для меня. Однако: Интересно, случайно ли вы импортировали копию формы в исходный файл (вместо нового).

Если я удалю форму из нового файла, я получаю ту же ошибку, что и вы, поэтому убедитесь, что вы действительно импортировали ее в новое место.

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