VBA: переменная объекта или переменная блока не установлена ​​при настройке диапазона - PullRequest
0 голосов
/ 24 марта 2020

У меня есть ячейка (связанная ячейка), которая меняет значение в зависимости от полосы прокрутки. я хочу, чтобы мой код получал значение ячейки в столбце E, а строка # будет зависеть от значения ячейки, связанной с моей полосой прокрутки. Пример: если значение ячейки ссылки равно 2, я хочу, чтобы мой код получил значение ячейки E3. Я создал код, и я не могу понять, почему я получаю сообщение «Переменная объекта» или «С переменной блока не установлено». Я читал темы здесь о той же ошибке, но ни одна не помогла (или, может быть, я просто не понимаю ответы)

вот мой код

Sub getweekrowindexrange()
Application.ScreenUpdating = False
Set wsCalculations = Sheets("Calculations")
'Set wsDashboard = Sheets("Dashboard")
Dim weekrowindex As Long
Dim Dashboardweekrange As Range

weekrowindex = WorksheetFunction.Sum(wsCalculations.Range("BS1").Value, 1) ''this line works fine, gives me the value i need
Dashboardweekrange = wsCalculations.Range("E" & weekrowindex).Value 'this gives me the 'Object variable or With block variable not set' error. i tried adding 'Set' before the Dashboardweekrange variable but then i get an 'Object required' message
MsgBox weekrowindex 'ignore this line, i just use it to test the index value
End Sub

Вот скриншот моих данных. я намеренно спрятал много столбцов, чтобы никто не запутался worksheet Может кто-нибудь сказать мне, что я делаю не так?

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Попробуйте:

Sub test()

    'Dashboardweekrange is a range
    Dim Dashboardweekrange As Range

    Set Dashboardweekrange = wsCalculations.Range("E" & weekrowindex)

    'Dashboardweekrange is a long
    Dim Dashboardweekrange As Long

    Dashboardweekrange = wsCalculations.Range("E" & weekrowindex).Value

End Sub
0 голосов
/ 24 марта 2020

wsCalculations.Range ("E" & weekrowindex). Значение получает значение ячейки диапазона, а не сам диапазон. Так что установите Dashboardweekrange = wsCalculations.Range ("E" & weekrowindex). -

спасибо тебе, mych @AxelRichter !!!!

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