Userform.Show на кнопке формы не распознает пользовательскую форму, получив ошибку 424

Я очень мало знаю об VBA, но я пытаюсь создать пользовательскую форму для книги Excel. Идея – нажать кнопку, открыть пользовательскую форму, ввести информацию, нажать «ОК», и ваша информация правильно отформатирована и вставлена ​​в рабочий лист.

У меня есть 3 пользовательских формы, которые работают нормально, но любой макрос, который я создаю, который ссылается на один из них, просто не признает, что существует определенная пользовательская форма.

Код, с которым я столкнулся, довольно прост:

Private Sub LiquidFormButton_Click() LiquidEntryUserform.Show End Sub 

Изменить (обновление): Поэтому я попытался создать новую пользовательскую форму с другим именем. Я скопировал и вставил все элементы управления из объекта в новую пользовательскую форму, изменил имя макроса, чтобы вызвать пользовательскую форму, и вуаля работает. Однако теперь пользовательская форма ничего не делает, потому что ни один из элементов управления не имеет каких-либо кодов, за которыми они говорят, что делать. Это нормально, я просто скопирую коды из сломанной формы и BOOM, теперь это не сработает. Сооооо что-то очень простое кодирование в самой пользовательской форме не позволяет отображать его, даже если новая пользовательская форма И сломанная одна, фактически, делает все остальное, что им нужно делать, кроме того, чтобы показать. Я выложу полный код пользовательской формы позже после некоторого поворота. Спасибо!

Вы должны «создать экземпляр» такой формы

 Private Sub LiquidFormButton_Click() Dim liquid as LiquidEntryUserform ' define a liquid var of the correct type Set liquid = new LiquidEntryUserform ' create the Form liquid.Show 'show it ' here you can still access variables ' on the form If liquid.TextBox1.Text = "700" Then 'do things End if End Sub 

Мой проект выглядит так:

введите описание изображения здесь

Вы можете использовать Обозреватель объектов (View | Object Browser или F2 ), чтобы найти формы и классы, которые у вас есть в вашем проекте:

введите описание изображения здесь

  • Excel VBA UserForm - если не IsEmpty Then
  • Имя пользователя из пользовательской формы
  • Добавление проверки в пользовательскую форму
  • Флажки пользовательской формы Excel: null
  • Проверка данных Excel
  • Excel VBA: динамический диапазон для ComboBox. Значения Rowsource не отображаются при вызове userForm из командной строки
  • Gif не воспроизводится непрерывно в Webbrowser Control в форме Excel VBA, пока выполняется другой код
  • Переменная обмена Excel VBA в пределах подписки Userfrom
  • Выход VBA в отношении кнопок выбора
  • Ошибка проверки входа в пользовательскую форму VBA
  • Excel VBA Userform Listbox Динамическое контекстное меню с использованием метода .OnAction
  • Давайте будем гением компьютера.