|
|
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
Почему Код: plaintext 1. 2. 3. 4. 5. 6. 7. не то же самое, что: Код: plaintext 1. 2. 3. 4. 5. 6. 7. И если второе работает, то первое нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 12:24 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
если с Range работаете через cells, то надо указывать начало и конец диапазона. в данном случае .ActiveSheet.Range(Cells(1, 1), Cells(1, 1)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 12:36 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
Или сократить: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 13:46 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
Это типичная ошибка. Для Cells надо тоже указывать родит. объект. (это либо WorkSheet, либо Range) Т.о. полный формат будет такой: ActiveWorkbook.ActiveSheet.Range( ActiveWorkbook.ActiveSheet. Cells(1, 1)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 14:09 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
SergeySV, та Вы что)) и Вы конечно проверили свое утверждение? или для профи это не обязательно?) а для cells не надо указывать родительский объект, то есть крайне рекомендуется, но можно и без него просто cells будет ссылаться на активный лист, что в данном случае монописуально. А вот Ваша конструкция - не рабочая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 14:35 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
насколько я понимаю, то RANGE задается так expression.Range(Cell1, Cell2) где Cell1 - The name of the range. This must be an A1-style reference in the language of the macro Cell2 - The cell in the upper-left and lower-right corner of the range и надо либо задавать левый верх, правый низ, либо адрес в виде строки, либо имя диапазона поэтому если сделать так Код: plaintext I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 16:45 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
Просто добавлю, здесь же на форуме когда давно увидел, вот так еще задается диапазон: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 17:18 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
Да, проглядел отсутствие второго Cells. Заметил токо когда уже написал ответ. Даже не подумал в начале что народ зациклился на наличие/отсутствие в Range второго Cells - в справке он только так применяется. Править топик уже не стал - на работе запрягли. А вот про наличие родит. объекта для Cells внутри Range в примерах справки и в инете любят пропускать. В результате с ActiveSheet(как у автора топика) эта конструкция работает, а стоит применить в коде с явным указанием имени листа и отсутствие род. объекта у Cells становится источником очень трудноуловимых ошибок. Сам натыкался на эти грабли. Автору топика для понимая сути объекта Cells будет полезна и эта инфа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 00:33 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
Премного всем благодарен. Для меня, это весьма ценная информация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 04:33 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
SergeySV... Автору топика для понимая сути объекта Cells будет полезна и эта инфа. SergeySV, дабы не вводить начинающих коллег в заблуждение, пожалуйста, будьте аккуратнее в формулировках: напомню, что Cells - это свойство объектов Excel (Application, Worksheet, Range), позволяющее задать ссылку на объект Range. К слову, Range также может быть свойством объекта Range (например, Range("C3").Range("D2") возвращает ссылку относительно объекта Range, ссылается на F4). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 10:21 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
vlthSergeySV, дабы не вводить начинающих коллег в заблуждение, пожалуйста, будьте аккуратнее в формулировках: напомню, что Cells - это свойство объектов Excel (Application, Worksheet, Range),Не вводи начинающих в заблуждение. Это не свойство, а метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 21:46 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
White OwlvlthSergeySV, дабы не вводить начинающих коллег в заблуждение, пожалуйста, будьте аккуратнее в формулировках: напомню, что Cells - это свойство объектов Excel (Application, Worksheet, Range),Не вводи начинающих в заблуждение. Это не свойство, а метод. Ну и ну... Cells - метод... И какое же действие он производит? - гораздо логичнее согласиться, учитывая двойственную природу Cells, с тем, что это - объект. Но формально Cells всё же свойство. Воспользуемся F2: Object BrowserProperty Cells As Range read-only Member of Excel.Application Property Cells As Range read-only Member of Excel.Worksheet Property Cells As Range read-only Member of Excel.Range До кучи:Intuit.ruCells As Range - возвращает коллекцию ячеек электронной таблицы. Вызванное объектом WorkSheet это свойство возвращает всю таблицу ячеек рабочего листа, которая, конечно, представляет собой объект Range. Поскольку Cells одновременно является объектом Range и коллекцией ячеек, то можно использовать индексы, чтобы добраться до отдельного элемента коллекции - ячейки таблицы. Важным свойством Cells обладают и объекты, стоящие на более низких ступенях иерархии, в частности, им обладает и сам объект Range, что позволяет получить коллекцию ячеек для любой заданной области таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 04:59 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
vlthНу и ну... Cells - метод... И какое же действие он производит? - гораздо логичнее согласиться, учитывая двойственную природу Cells, с тем, что это - объект. Но формально Cells всё же свойство. Воспользуемся F2:Мало ли что там написано... Учить ОО по справке Экселя это еще большая глупость чем использовать Эксель в качестве базы данных. У свойства не бывает параметров. Свойство изображает из себя поле при этом являясь вызовом метода. Cells() с полем спутает только слепой. А так же Cells() не является объектом, он возвращает объект типа Range, но сам по себе это метод. Метод не обязан выполнять какие либо действия, метод это функция привязанная к классу. Но в данном случае, метод Cells() все-же производит кое-какие действия и достаточно только открыть глаза и увидеть параметры - проверку параметров он производит, чтоб ты за границы листа не выскочил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 21:49 |
|
||
|
Range vs Cells
|
|||
|---|---|---|---|
|
#18+
White OwlМало ли что там написано... Учить ОО по справке Экселя это еще большая глупость чем использовать Эксель в качестве базы данных. White Owl, сообщите об этом Уокенбаху, Киммелу и прочим авторитетным писателям-программистам, коих более чем достаточно. А то они, понимаешь, не в курсе и вводят в заблуждение начинающих )) Если серьёзно, то с Вами согласен В.Б. Комягин (есть у меня издание его книги 96 г. "Программирование в Excel5 и Excel7..."). И то - лишь наполовину, поскольку, по его мнению, VBA сам, в зависимости от контекста, определяет, где набор, а где метод (т.е. Cells может являться как коллекцией, так и методом). Поэтому раздел "Методы, которые возвращают объекты", он завершает следующей фразой: В.Б. Комягин...Таким образом, нет необходимости помнить, что является методом, а что - свойством. Главное представлять себе иерархию объектов... На этом, думаю, покончим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2010, 04:40 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36490570&tid=2178429]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 344ms |

| 0 / 0 |
