#excel #vba
#excel #vba
Вопрос:
Я разработал несколько пользовательских форм и макросов для проекта в Excel 2013, но когда я пытаюсь протестировать их в Excel 2016, я получаю множество ошибок в базовых функциях VBA.
Например, я получаю ошибку «Объект не поддерживает это свойство или метод» из следующего кода:
Private Sub ShowImpact()
FormImpact.Show
End Sub
Другой пример, следующий код выдает ошибку «Не удается найти проект или библиотеку» в ссылке на таблицу [RIMS_tbl]. Это именованная таблица в документе:
With FormImpact.cboIndustry
.ColumnCount = 11
.ColumnWidths = "0;50;0;0;0;0;0;0;0;0;0"
.RowSource = "=RIMS!" amp; [RIMS_tbl].Address
.BoundColumn = 1
.TextColumn = 2
End With
В качестве другого примера я получаю то же сообщение об ошибке при методе «Формат» в следующем коде:
Private Sub txtConLand_AfterUpdate()
txtConLand = Format(txtConLand.Value, "#,##0")
End Sub
Наконец, у меня есть ярлык, который я использую в качестве фона в форме, который отлично работает в Excel 2013, но по какой-то причине он охватывает все другие элементы управления в 2016, и я не могу отправить его обратно.
Я действительно надеюсь, что в 2016 году есть какая-то настройка, которая исправит все эти проблемы, потому что я не могу понять, почему так много вещей будет нарушено между этими двумя версиями. Спасибо за вашу помощь!
Комментарии:
1. Какие-либо «отсутствующие» ссылки в вашем проекте VB?
2. Как говорит @TimWilliams, проверьте свои ссылки. Щелкните в меню инструменты , а затем ссылки . Это должно быть то же самое, и ни один из них не должен быть помечен как ОТСУТСТВУЮЩИЙ
3. Да, отсутствует ссылка на «Библиотеку типов ATLEntityPicker 1.0». Я снял этот флажок в шаблоне Excel, и, похоже, это устранило большинство проблем! Спасибо вам обоим @TimWilliams и Стефану. У меня все еще возникает проблема с фоновой меткой, закрывающей остальную часть пользовательской формы. Если у вас есть какие-либо предложения по этому поводу, я был бы признателен.
Ответ №1:
Как упоминалось в комментариях выше, решение этой проблемы заключалось в устранении недостающих ссылок между разными номерами версий. В интерфейсе Visual Basic перейдите в меню Инструменты-> Ссылки. Проверьте отсутствие ссылок во всех поддерживаемых версиях. Спасибо @TimWilliams и @Stefan за решение этой проблемы.
Я так и не понял, как решить проблему z-порядка для фоновой метки. Даже установка v-порядка для этой метки программно не сработала. Но я придумал обходной путь. Сначала я создал небольшой белый растровый файл. Затем в настройках страницы я установил фоновое изображение в качестве растрового файла. Затем я установил свойство «PictureSizeMode» «fmPictureSizeModeStretch», которое растягивало растровое изображение, чтобы оно соответствовало всей странице. Наконец, я добавил рамку вокруг всей формы.
Ответ №2:
У меня возникла та же проблема при переносе Excel с поддержкой VBA с Excel 2010 на 2016. Отмена выбора библиотеки типов ATLEntityPicker 1.0 из списка литературы решила проблему.