Зв’яжіть спадне меню зі значеннями з двох комірок на іншому робочому аркуші


0

У мене є аркуш, що випадає в аркуші1 Потім у sheet2 такі значення, як "D2" 2010, значення D3 "2020". Отже, зараз я хочу заповнити цей спадний список зі значеннями 2010,2011,2012 ,,,, 2019,2020 (у відкритій події робочої книги). Як я можу досягти цього в макросі VB. Чи може хто-небудь допомогти мені вирішити це? Спасибі заздалегідь


Про який "контрольний" спад ви говорите? Це список перевірки даних, комбінація форм, комбобон ActiveX чи щось інше?
Оллі

Його ActiveX
комбобокс

Відповіді:


0

Це заповнить ActiveX ComboBox усіма значеннями між Sheet2! D2 та Sheet2! D3:

Sub PopulateComboBox()
    Dim l As Long
    Dim cb As ComboBox

    On Error GoTo Terminate

    Set cb = Sheet1.ComboBox1

    cb.Clear

    With Sheet2
        For l = .Range("D2").Value To .Range("D3").Value
            cb.AddItem l
        Next l
    End With

Terminate:
    If Err Then
        Debug.Print "Error", Err.Number, Err.Description
        Err.Clear
    End If
End Sub

Щоб запуститись, коли робоча книга відкриється, потім помістіть це в модуль робочої книги:

Private Sub Workbook_Open()
    Call PopulateComboBox
End Sub

Ви також можете помістити це в модуль робочого листа Sheet2, щоб значення ComboBox оновлювалися, якщо значення в D2 або D3 змінюються:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("D2:D3")) Is Nothing Then Call PopulateComboBox
End Sub

Привіт олі Тхак за вашу відповідь. Він працює для мене, коли я змінюється на sheet3 і надходить до sheet2, але не завантажується належним чином під час відкриття робочої книги. Я використовував "З робочими листами (" MonthYearConfig ")" у події
work_open

Просто зателефонуйте до підпрограми з події work__pen.
Оллі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.