Один выбор даты для всех полей со списком в пользовательской форме Excel - PullRequest
0 голосов
/ 24 октября 2018

Чего я хотел бы добиться:

  1. Иметь отдельные комбинированные списки в пользовательской форме, чтобы при нажатии отдельной раскрывающейся кнопки загружать глобальную пользовательскую форму с элементом управления календаря наЭто.Поскольку у меня будет несколько комбинированных окон, было бы нецелесообразно продолжать добавлять новые отдельные пользовательские формы с элементами управления календаря.Вместо этого просто иметь одну основную пользовательскую форму с элементом управления календаря, который выполняет всю работу для всех моих комбинированных окон.

  2. Когда дата выбрана из глобального календарного элемента управления выбора даты, чтобывставьте выбранную дату в поле со списком, по которому щелкнули.

Я нашел фрагменты, но не могу понять их, так как я новичок в этом.

1 Ответ

0 голосов
/ 24 октября 2018

Подумайте об этом, я могу придумать одно решение.Добавьте ярлык.

При нажатии на поле со списком, у ярлыка будет имя поля со списком, а затем, когда вы щелкнете по дате в элементе управления календарем, она отправит дату на имя поля со списком в метке.enter image description here

Я просто взял любой элемент управления календаря, который был доступен в наборе инструментов, ваш может отличаться.

Private Sub ComboBox1_DropButtonClick()
    Me.Label1 = Me.ComboBox1.Name
End Sub
Private Sub ComboBox2_DropButtonClick()
    Me.Label1 = Me.ComboBox2.Name
End Sub
Private Sub ComboBox3_DropButtonClick()
    Me.Label1 = Me.ComboBox3.Name
End Sub

Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
    s = Me.Label1.Caption
    Me.Controls(s) = Me.MonthView1.Value
End Sub

Как указал @MathieuGuindon, когдащелкнув на поле со списком, вы можете присвоить тег элементу управления Calendar, тогда вам не нужно будет размещать метку.

Спасибо, Матье ...

Private Sub ComboBox1_DropButtonClick()
    Me.MonthView1.Tag = Me.ComboBox1.Name
End Sub
Private Sub ComboBox2_DropButtonClick()
    Me.MonthView1.Tag = Me.ComboBox2.Name
End Sub
Private Sub ComboBox3_DropButtonClick()
    Me.MonthView1.Tag = Me.ComboBox3.Name
End Sub

Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
    s = Me.MonthView1.Tag
    Me.Controls(s) = Me.MonthView1
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...