1

Я пытаюсь определить диапазон в VBA, но по какой-то причине мой метод не удается. В приведенном ниже примере кода две первые строки работают, но последняя выходит из строя с сообщением « Метод« Диапазон »объекта« _Worksheet »не удалось »:

Set c = Parametre.Range("B2")
Set c = Parametre.Range("XFD2").End(xlToLeft)
Set c = Range(Parametre.Range("B2"), Parametre.Range("XFD2").End(xlToLeft))

Я проверил, что лист не защищен, что второй аргумент находится справа от первого (это L2), и на данный момент я довольно озадачен тем, почему мой метод не работает. Любой вклад в то, что может быть проблемой, будет высоко ценится.

1 ответ1

2

Кажется, вы пропустили объект Parametre, поэтому по умолчанию он вернется к рабочему листу и по этой причине завершится ошибкой. Попробуйте использовать следующий код:

Set c = Parametre.Range(Parametre.Range("B2"), Parametre.Range("XFD2").End(xlToLeft))

или в качестве альтернативы, если вы хотите написать более чистый код, используйте это:

with Parametre
    Set c = .Range("B2")
    Set c = .Range("XFD2").End(xlToLeft)
    Set c = .Range(.Range("B2"), .Range("XFD2").End(xlToLeft))
end with

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .