|
|
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
Скажите, пожалуйста, есть ли случаи когда применение метода Select оправдано? Или сказать категоричное "нет" этому методу и не использовать при написании программ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 15:25:33 |
|
||
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
есть смысл, когда получаешь данные из других источников, не говоря уж о БД. На листе имеет смысл, если нужно обработать более 10000 строк: чем больше строк, тем существенней различие скорости. В любом случае, если обычные средства, типа автофильтра, не позволяют получить результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 15:38:45 |
|
||
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
vbaproесть смысл, когда получаешь данные из других источников, не говоря уж о БД. На листе имеет смысл, если нужно обработать более 10000 строк: чем больше строк, тем существенней различие скорости. В любом случае, если обычные средства, типа автофильтра, не позволяют получить результат. Нипонял. Смысл есть только тогда, когда нужно именно выделить ячейку или группу ячеек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 15:57:01 |
|
||
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
k-nike vbaproесть смысл, когда получаешь данные из других источников, не говоря уж о БД. На листе имеет смысл, если нужно обработать более 10000 строк: чем больше строк, тем существенней различие скорости. В любом случае, если обычные средства, типа автофильтра, не позволяют получить результат. Нипонял. Смысл есть только тогда, когда нужно именно выделить ячейку или группу ячеек. ) в голове сразу об SQL мысли пошли.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 16:09:47 |
|
||
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
Сергей06Скажите, пожалуйста, есть ли случаи когда применение метода Select оправдано? Или сказать категоричное "нет" этому методу и не использовать при написании программ.Есть всего два случая, когда Select оправдан и оба связаны с общением с пользователем: 1) Если хочешь по окончании макроса поставить курсор на какую-то ячейку листа. 2) Если надо из середины макроса запустить пользовательский диалог который работает с областями, например Application.Dialogs(xlDialogFilter).Show, тут Select поможет установить начальную область. Во всех остальных случаях Select - зло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 19:44:11 |
|
||
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
White Owl1) Если хочешь по окончании макроса поставить курсор на какую-то ячейку листа. В этом случае Select тоже не нужен. Достаточно Cells(i,j).Activate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 09:31:29 |
|
||
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
кстати, в Word Select (Selection) более полезен, т.к. не всегда ему есть эквивалент ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:01:26 |
|
||
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
White OwlВо всех остальных случаях Select - зло Мне не совсем понятно, ЗЛО- потому что имеет много ограничений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:03:19 |
|
||
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
Сергей06 White OwlВо всех остальных случаях Select - зло Мне не совсем понятно, ЗЛО- потому что имеет много ограничений? Зло потому, что во всех случаях кроме перечисленных, совершенно ненужен, кроме того, загроможлает код и тормозит твой макрос. Одиночное его использование не так страшно, а если в цикле??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 13:19:31 |
|
||
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
Сергей06 White OwlВо всех остальных случаях Select - зло Мне не совсем понятно, ЗЛО- потому что имеет много ограничений? На счет ворда не знаю (хотя тут уже немного разъяснили), а в экселе - потому что конструкция Range.Select возможно только тогда, когда рабочий лист активен. Т.е. перед этой командой, если открыта не одна книга с одним листом, обязательно должна быть команда Workbook().Sheets().Activate, затем Range().Select, а уж затем Range() ="значение", т.е примерно так: Код: plaintext 1. 2. Теперь сравните с этим: Код: plaintext Теперь понятно? А потеря производительности не самое главное зло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 22:28:47 |
|
||
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
SvIva В этом случае Select тоже не нужен. Достаточно Cells(i,j).Activate Cells(i,j).Activate - также плохо к сказанному k-nike +100 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 09:45:33 |
|
||
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
Senin Viktor SvIva В этом случае Select тоже не нужен. Достаточно Cells(i,j).Activate Cells(i,j).Activate - также плохо подправлюсь: не в смысле плохо именно в случае описанном SvIva (когда очень надо установить в конкретную ячейку), а в других, иных. Кстати, перед Cells(i,j).Activate, надо и лист активировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 09:49:30 |
|
||
|
Применение метода Select в VBA
|
|||
|---|---|---|---|
|
#18+
почти все, что уже здесь написали, кроме того, что при select можно использовать фрагмент кода как для Range, так и для Shape: http://www.dicks-blog.com/archives/2004/04/27/beginning-vba-select-and-activate/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 10:00:09 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=305&tid=2183848]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 310ms |

| 0 / 0 |
