Доброго времени суток, уважаемые!
Будьте добры, пролейте свет знания на следующий мой вопрос:
В коде пишу инструкцию:
Set MyRange = Worksheets("MyList").Range("D4:J4")
И все замечательно. Хорошо, но что делать, если я правой границы Range не знаю?
Лезу в хелп, читаю, рожаю такую конструкцию:
Set MyRange = Worksheets("MyList").Range("D4", Range("D4").End(xlToRight)).Select
И начинается ошибка при отладке.
Ошибка пропадает, если предварительно активизировать рабочий лист с именем "MyList"
Аналогично если определять Range через Cells, например (i- переменная для номер столбца, ищется в коде заранее, определена как Integer, не может быть больше 100):
Set MyRange = Worksheets ("MyList").Range(Cells(4,4), Cells(4, i)) - тоже самое, необходимо сначала активизировать лист.
Собственно, вопрос: почему в первом случае "установка" объекта проходила на ура без всякой активации листа в коде, а во втором необходима лишняя пляска с бубном (строка кода, активизирующая лист)?
Извините за может быть "простейший" вопрос - но книжки/справочника под рукой нет, в хелпе не вижу в упор подобного. В хелпе не описано отличие обращения к Range через Range("A1") от Range(cells(1,1).
Спасибо за внимание.
Будьте добры, пролейте свет знания на следующий мой вопрос:
В коде пишу инструкцию:
Set MyRange = Worksheets("MyList").Range("D4:J4")
И все замечательно. Хорошо, но что делать, если я правой границы Range не знаю?
Лезу в хелп, читаю, рожаю такую конструкцию:
Set MyRange = Worksheets("MyList").Range("D4", Range("D4").End(xlToRight)).Select
И начинается ошибка при отладке.
Ошибка пропадает, если предварительно активизировать рабочий лист с именем "MyList"
Аналогично если определять Range через Cells, например (i- переменная для номер столбца, ищется в коде заранее, определена как Integer, не может быть больше 100):
Set MyRange = Worksheets ("MyList").Range(Cells(4,4), Cells(4, i)) - тоже самое, необходимо сначала активизировать лист.
Собственно, вопрос: почему в первом случае "установка" объекта проходила на ура без всякой активации листа в коде, а во втором необходима лишняя пляска с бубном (строка кода, активизирующая лист)?
Извините за может быть "простейший" вопрос - но книжки/справочника под рукой нет, в хелпе не вижу в упор подобного. В хелпе не описано отличие обращения к Range через Range("A1") от Range(cells(1,1).
Спасибо за внимание.
Кому решение нужно - тот пример и рисует.