Я адаптировал средство выбора даты Eric Bentzen к своим потребностям ( веб-сайт и оригинальный файл ), сейчас я пытаюсь использовать его для двух разных пользовательских форм, но стараюсь не добавлять две отдельные кнопки, предназначенные для перемещения, введенныеДата.
Все время это первая открытая пользовательская форма (давайте назовем ее ApplicationUF) или вторая (назовем это AnswerersUF), но никогда обе одновременно.
Обе формы имеют TextBox для ввода даты.Моя идея состоит в том, что после нажатия на эту кнопку выбора даты TextBox появляется пользовательская форма, пользователь выбирает дату, нажимает кнопку сохранения, пользователь выбирает дату, пользовательская форма закрывается, и введенная дата перемещается в выделенную дату активной пользовательской формы TextBox.Но у меня возникают проблемы со ссылкой на активную пользовательскую форму.
TLDR: как определить, какая пользовательская форма активна и переместить в нее значения из другой пользовательской формы?
Мой код пока:
В пользовательской форме выбора даты выбранная переменная даты объявляется как открытая переменная в отдельном модуле Public datFirstDay As Date
Теперь я пытаюсь добавить событие on_clik для сохранения кнопки выбора даты в пользовательской форме, которая определяет активную пользовательскую форму и перемещает введенныеДата.Пока мой код:
Private Sub cmdSave_Click()
'I am having problem determining which use form is open
'I figured out that syntax should probably look something like this
'but this obviously doesent work since as far as I understand IsLoaded used only in Acces
'how can I adapt it to excel?
If VBA.UserForms("ApplicationUF").IsLoaded = True Then
ApplicationUF.rDateTB.Value = datFirstDay
ElseIf VBA.UserForms("AnswersUF").IsLoaded = True Then
AnswersUF.DateTB.Value = datFirstDay
End If
cmdCancel_Click
End Sub
Не думаю, что это важно, но на всякий случай я добавляю субкод cmdCancel_Click.Это оригинальный, неизменный код, написанный Эриком Бенценом.
Private Sub cmdCancel_Click()
Set colLabelEvent = Nothing
Set colLabels = Nothing
bSecondDate = False
sActiveDay = Empty
lFirstDay = 0
Unload Me
End Sub