Выбранный результат из ячейки рабочего листа в пользовательский список - PullRequest
1 голос
/ 06 мая 2019

У меня есть пользовательская форма со списком. Combobox выбирает диапазон от Workbook и входных данных, полученных в ячейку C79 этим VBA:

Private Sub ComboBox1_Change()
ThisWorkbook.Worksheets("Other Data").Range("C79").Value = Me.ComboBox1.Value
End Sub

Проблема в том, что, когда я открываю пользовательскую форму во второй раз, я не вижу полученный результат в выпадающем списке, поэтому мне нужно снова его забрать. Как связать ячейку C79 с Private Sub UserForm_Initialize(), чтобы при открытии UserForm значение из C79 было видно в Combobox1?

Я пробовал:

Private Sub UserForm_Initialize()
    ComboBox1.List = ThisWorkbook.Sheets("Other Data").Range("A79:A81").Value ' This one picks the range
    'ThisWorkbook.Sheets("Other Data").Range("C79").Value = ReviewForm.ComboBox1.Value
End Sub

1 Ответ

3 голосов
/ 06 мая 2019

Чтобы заполнить элемент управления ComboBox в пользовательской форме, используйте следующее

Private Sub UserForm_Initialize()
    Me.ComboBox1.Value = ThisWorkbook.Sheets("Other Data").Range("C97").Value
End Sub

Кроме того, вы можете обновлять это значение каждый раз, когда активируется UF:

Private Sub UserForm_Activate()
    Me.ComboBox1.Value = ThisWorkbook.Sheets("Other Data").Range("C97").Value
End Sub

Или вы можете обновлять комбинированный список UF каждый раз, когда изменяется значение ячейки. Однако это не логично, поскольку вы обновляете ячейку с помощью UF. Он активировал бы себя.

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