Как настроить макрос для открытия моей пользовательской формы Visual Basic?

#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:

Я думаю, что приведенные ранее ответы верны, и я просто хочу добавить следующее в качестве дополнительного пояснения:

Шаги по отображению пользовательской формы.

  1. Добавьте кнопку Command Button (элементы управления ActiveX) в любом месте вашего файла Excel, чтобы пользователи могли щелкнуть по ней и получить пользовательскую форму.

  2. В VBA добавьте код, подобный следующим строкам кода внутри CommandButton, добавленным на шаге 1.

Частная субкомандаbutton1_click()

UserForm1.Show

End Sub