Заполните поле со списком в пользовательской форме с выбором ячеек в активном листе - PullRequest
0 голосов
/ 19 февраля 2020

Я только начал использовать VBA в Excel, и я пытаюсь создать пользовательскую форму, в которой я выбираю данные из активного листа (пользовательская форма должна дублироваться после того, как я продублирую лист, где он включен, и все ссылки должны быть на активный лист):

  • пользовательская форма называется "SystemDesignUserForm"

  • фактический лист, в который она включена, называется "Системный дизайн"

  • ComboBox называется "DIAComboBox" и должен перечислять данные, включенные в ячейки "w6: w33".

Я пытался с кодом :

DIAComboBox.List = Range("W6:W33").Value

, а также с

DIAComboBox.List = ActiveSheet.Range("W6:W33").Value

и с:

DIAComboBox.List = Worksheets("System Design").Range("W6:W33").Value

, но не работает: поле со списком выглядит недействительным.

У вас есть предложения?

1 Ответ

0 голосов
/ 19 февраля 2020

Вы можете попробовать перебрать диапазон и заполнить:

'set worksheet
Dim ws as Worksheet
Set ws = Worksheets("System Design")

'loop through and collect range
    For each c in ws.Range("W6:W33")
        With Me.DIAComboBox
            .AddItem c.Value
        End With
    Next c

    Me.DIAComboBox.SetFocus

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...