#vba
#vba
Вопрос:
Итак, в основном я хочу, чтобы на моей первой странице была кнопка, а затем пользователь нажмет на эту кнопку, и отобразится созданная мной пользовательская форма.
Я могу открыть visual Basic через Application.SendKeys("F11")
. Но я не могу запустить свою пользовательскую форму отсюда? Любая помощь была бы отличной.
F5 не работает, потому что форма пользователя не выбрана. И я не знаю, как выбрать эту пользовательскую форму внутри VBA с помощью макроса. Я попытался сделать Application.SendKeys("Down")
это в надежде, что смогу перейти к этой пользовательской форме и выбрать ее с Application.SendKeys("Enter")
помощью, но это перемещает мою активную ячейку вниз внутри Excel, а не в VBA. Спасибо!
Комментарии:
1. Прочтите эту ссылку.
Ответ №1:
Не используйте Application.SendKeys("F11")
не рекомендуется предоставлять пользователю доступ к интерфейсу VBA, вместо этого используйте эту строку, чтобы открыть пользовательскую форму одним нажатием кнопки:
UserForm1.Show
Предполагая, что ваша пользовательская форма называется «UserForm1».
И если вы хотите, чтобы ваш пользователь мог щелкнуть за пределами пользовательской формы, когда она открыта, используйте вместо этого эту строку:
UserForm1.Show(vbModeless)
Ответ №2:
Я думаю, что приведенные ранее ответы верны, и я просто хочу добавить следующее в качестве дополнительного пояснения:
Шаги по отображению пользовательской формы.
-
Добавьте кнопку Command Button (элементы управления ActiveX) в любом месте вашего файла Excel, чтобы пользователи могли щелкнуть по ней и получить пользовательскую форму.
-
В VBA добавьте код, подобный следующим строкам кода внутри CommandButton, добавленным на шаге 1.
Частная субкомандаbutton1_click()
UserForm1.Show
End Sub