Как использовать данные, введенные в пользовательскую форму в основном модуле

Я очень новичок в кодировании VBA. У меня есть пользовательская форма с пятью текстовыми полями. Пользователь вводит целое число в первых текстовых блоках и ячейках (например, A1) в последних четырех текстовых блоках. Я хочу, чтобы эти данные использовались в основном модуле. Мне нужно использовать целое число в цикле, т.е. цикл, пока счетчик не достигнет этого целого. Мне нужно использовать ячейки, чтобы начать доступ к различным наборам данных, которые могут быть в любом месте листа.

У меня возникают проблемы с доступом к этим данным в основном модуле. В настоящее время я скрываю форму, когда пользователь нажимает кнопку «ОК». Чтобы проверить свой код, я просто записываю данные из текстовых полей в ячейки.

Код основного модуля:

Sub Sort2Stack() UserInput.Show Cells(5, 22).Value = TestPeriod.Value 'integer entered in TextBox 1 Cells(6, 22).Value = YMLoc.Value 'cell location entered in TextBox 2 Cells(7, 22).Value = YFLoc.Value ' . Cells(8, 22).Value = NMLoc.Value ' . Cells(9, 22).Value = NFLoc.Value 'cell location entered in TextBox 5 End Sub 

Я получаю ошибку времени выполнения 424, требуемый объект. Это, наверное, довольно просто, и я искал какое-то время – новое для этого.

Пожалуйста, порекомендуйте. Заранее спасибо!

 Cells(5, 22).Value = UserInput.TestPeriod.Text 

Я думаю, вам нужно обратиться к вашей пользовательской форме, чтобы получить значения. Это предполагает, что вы действительно просто спрятали форму, а не выгрузили ее. В конце вашей процедуры перед End Sub вы должны

 Unload UserInput 

чтобы получить форму из памяти.

Вы также можете объявлять общедоступные переменные в своем основном модуле и получать доступ к ним из своей формы. Вы можете установить переменные равными текущему тексту текстовых полей для определенного события нажатия кнопки.

  • XlsxWriter Python вставляет текстовое поле в диаграмму
  • нажмите клавишу ввода в текстовом боксе, затем перейдите к определенной ячейке
  • Как изменить цвет фона текстового поля с помощью кнопки
  • Excel 2010 не может вставляться в текстовое поле формы
  • Ярлык, связанный с значением текстового поля
  • Очистка текстового поля при нажатии кнопки VBA
  • Возьмите текстовое поле и перейдите в определенную ячейку.
  • Ограничение текстовой строки VBA в текстовом поле
  • Excel - изменение BackColor текстовых полей UserForm и ComboBoxes с помощью VBA
  • Как получить доступ к текстовому блоку, размещенному на листе в модуле VBA?
  • Добавление переменного количества символов в строку, основанная на текущей длине строки
  • Давайте будем гением компьютера.