Переменная объекта или переменная блока не установлена. Почему? - PullRequest
0 голосов
/ 13 марта 2020

Я получаю указанную здесь ошибку:

Error

… Из этого раздела кода ...

Code1

... и, как вы увидите, переменные ячеек для lastrow и lastcol сообщают нормально, так почему я получаю эту ошибку?

code2

code3

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

code4

По сути, я просто пытаюсь установить Rg в качестве диапазона, используя значения ячеек, определенные двумя вышеупомянутыми переменными. Использование Excel 2016 VBA. Спасибо. Завтра зайду.

Ответы [ 2 ]

2 голосов
/ 13 марта 2020

Range - это Объект, поэтому вам нужно использовать команду Set, а не просто '=', которую вы можете использовать для стандартных переменных, таких как Sting, Integer et c. Итак, в вашем примере:

Set Rg = Range(Cells(1, 1), Cells(lastRow, LastCol))
1 голос
/ 13 марта 2020

Ниже приведены инструкции по настройке диапазонов:

Sub test()

    Dim rng_Single As Range, rng_Union As Range

    'Refer to the sheet you want to work with
    With ThisWorkbook.Worksheets("Sheet1")

        'Use the "." before range or cell in order to refer to the worksheet mention in the with statement

        'Set the range.
        Set rng_Single = .Range(.Cells(1, 1), .Cells(1, 5))
        'Merge two ranges of the same worksheet
        Set rng_Union = Union(.Range(.Cells(3, 1), .Cells(3, 5)), .Range(.Cells(4, 1), .Cells(4, 5)))

    End With

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