VBA - Проверка данных с переменным диапазоном - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь установить список проверки данных из диапазона переменных в другой таблице.Однако у меня возникли проблемы с первым битом кода для определения диапазонов.Вот мой код: -

Private Sub Workload_Schedule_Conditional_Formatting()

Dim LastRowWS As Long, LastRowPS As Long, rng As Range, ProjectRange As Range

    LastRowPS = Worksheets("Project_Summary").Range("B" & Rows.Count).End(xlUp).Row
    Set ProjectRange = Worksheets("Project_Summary").Range(Cells(2, 1), Cells(LastRowPS, 2))
    LastRowWS = Worksheets("Workload_Schedule").Range("A" & Rows.Count).End(xlUp).Row
    Set rng = Worksheets("Workload_Schedule").Range(Cells(4, 3), Cells(LastRowWS, 7))

'Other code for validation list.

End Sub

Я получаю ошибку в строке Set rng.Я не могу понять, почему это приводит к ошибке, но строка Set ProjectRange не делает (это в основном тот же код, но в другом листе).

1 Ответ

0 голосов
/ 22 декабря 2018

С удобочитаемостью

Полный

Sub Workload_Schedule_Conditional_Formatting()

    Dim LastRowWS As Long, LastRowPS As Long, rng As Range, _
            ProjectRange As Range

    With Worksheets("Project_Summary")
        LastRowPS = .Range("B" & .Rows.Count).End(xlUp).Row
        Set ProjectRange = .Range(Cells(2, 1), Cells(LastRowPS, 2))
    End With
    With Worksheets("Workload_Schedule")
        LastRowWS = .Range("A" & .Rows.Count).End(xlUp).Row
        Set rng = .Range(Cells(4, 3), Cells(LastRowWS, 7))
    End With

    ' Other code for validation list.

End Sub

Короткий

Sub Workload_Schedule_Conditional_Formatting_Short()

    Dim rng As Range, ProjectRange As Range

    With Worksheets("Project_Summary")
        Set ProjectRange = .Range(Cells(2, 1), _
                Cells(.Range("B" & .Rows.Count).End(xlUp).Row, 2))
    End With
    With Worksheets("Workload_Schedule")
        Set rng = .Range(Cells(4, 3), _
                Cells(.Range("A" & .Rows.Count).End(xlUp).Row, 7))
    End With

    ' Other code for validation list.

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