Excel VBA: почему моя переменная Range ничего не возвращает, независимо от того, на что она установлена? - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь заполнить Combobox после активации листа списком названий компаний из столбца C на листе Overview с переменным количеством строк.

Вот код, который у меня есть:

Private Sub Worksheet_Activate()
Dim namerange As Range
Dim lastrow As Integer

Set wk1 = ThisWorkbook.Worksheets("Financials")
Set wk2 = ThisWorkbook.Worksheets("FinancialData")
Set Ov = ThisWorkbook.Worksheets("Overview")

'Define range of company names
With Ov
lastrow = .Range("C" & .Rows.Count).End(xlUp).Row
Set namerange = .Range(Ov.Cells(6, 3), .Cells(lastrow, 3))
End With

'Add Portfolio names to combobox
With wk1.ComboBox1
.List = namerange
End With
End Sub

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

Мои знания по VBA очень ограничены, поэтому у меня есть ощущение, что я упускаю что-то очевидное здесь.Я озадачен, потому что я использовал подобный код в другом месте без проблем.

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