powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Применение метода Select в VBA
13 сообщений из 13, страница 1 из 1
Применение метода Select в VBA
    #34158082
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите, пожалуйста, есть ли случаи когда применение метода Select оправдано?
Или сказать категоричное "нет" этому методу и не использовать при написании программ.
...
Рейтинг: 0 / 0
Применение метода Select в VBA
    #34158152
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть смысл, когда получаешь данные из других источников, не говоря уж о БД. На листе имеет смысл, если нужно обработать более 10000 строк: чем больше строк, тем существенней различие скорости. В любом случае, если обычные средства, типа автофильтра, не позволяют получить результат.
...
Рейтинг: 0 / 0
Применение метода Select в VBA
    #34158249
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbaproесть смысл, когда получаешь данные из других источников, не говоря уж о БД. На листе имеет смысл, если нужно обработать более 10000 строк: чем больше строк, тем существенней различие скорости. В любом случае, если обычные средства, типа автофильтра, не позволяют получить результат.
Нипонял.

Смысл есть только тогда, когда нужно именно выделить ячейку или группу ячеек.
...
Рейтинг: 0 / 0
Применение метода Select в VBA
    #34158329
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k-nike vbaproесть смысл, когда получаешь данные из других источников, не говоря уж о БД. На листе имеет смысл, если нужно обработать более 10000 строк: чем больше строк, тем существенней различие скорости. В любом случае, если обычные средства, типа автофильтра, не позволяют получить результат.
Нипонял.

Смысл есть только тогда, когда нужно именно выделить ячейку или группу ячеек.

) в голове сразу об SQL мысли пошли..
...
Рейтинг: 0 / 0
Применение метода Select в VBA
    #34159018
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей06Скажите, пожалуйста, есть ли случаи когда применение метода Select оправдано?
Или сказать категоричное "нет" этому методу и не использовать при написании программ.Есть всего два случая, когда Select оправдан и оба связаны с общением с пользователем:
1) Если хочешь по окончании макроса поставить курсор на какую-то ячейку листа.
2) Если надо из середины макроса запустить пользовательский диалог который работает с областями, например Application.Dialogs(xlDialogFilter).Show, тут Select поможет установить начальную область.
Во всех остальных случаях Select - зло
...
Рейтинг: 0 / 0
Применение метода Select в VBA
    #34159647
SvIva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl1) Если хочешь по окончании макроса поставить курсор на какую-то ячейку листа.
В этом случае Select тоже не нужен. Достаточно Cells(i,j).Activate
...
Рейтинг: 0 / 0
Применение метода Select в VBA
    #34159726
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, в Word Select (Selection) более полезен, т.к. не всегда ему есть эквивалент
...
Рейтинг: 0 / 0
Применение метода Select в VBA
    #34159733
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlВо всех остальных случаях Select - зло

Мне не совсем понятно, ЗЛО- потому что имеет много ограничений?
...
Рейтинг: 0 / 0
Применение метода Select в VBA
    #34160598
Indian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей06 White OwlВо всех остальных случаях Select - зло

Мне не совсем понятно, ЗЛО- потому что имеет много ограничений?
Зло потому, что во всех случаях кроме перечисленных, совершенно ненужен, кроме того, загроможлает код и тормозит твой макрос. Одиночное его использование не так страшно, а если в цикле???
...
Рейтинг: 0 / 0
Применение метода Select в VBA
    #34162389
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей06 White OwlВо всех остальных случаях Select - зло

Мне не совсем понятно, ЗЛО- потому что имеет много ограничений?
На счет ворда не знаю (хотя тут уже немного разъяснили), а в экселе - потому что конструкция Range.Select возможно только тогда, когда рабочий лист активен. Т.е. перед этой командой, если открыта не одна книга с одним листом, обязательно должна быть команда Workbook().Sheets().Activate, затем Range().Select, а уж затем Range() ="значение", т.е примерно так:
Код: plaintext
1.
2.
Workbook().Sheets().Activate
Range().Select
Range() ="значение"
Иначе, если лист не активен, и произойдет вызов Range().Select, то VBA вылетит с ошибкой.

Теперь сравните с этим:
Код: plaintext
Workbook().Sheets().Range = "значение"
Здесь такой ошибки произойти не может по определению.

Теперь понятно? А потеря производительности не самое главное зло.
...
Рейтинг: 0 / 0
Применение метода Select в VBA
    #34162881
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvIva
В этом случае Select тоже не нужен. Достаточно Cells(i,j).Activate

Cells(i,j).Activate - также плохо

к сказанному k-nike +100
...
Рейтинг: 0 / 0
Применение метода Select в VBA
    #34162885
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senin Viktor SvIva
В этом случае Select тоже не нужен. Достаточно Cells(i,j).Activate

Cells(i,j).Activate - также плохо



подправлюсь:
не в смысле плохо именно в случае описанном SvIva (когда очень надо установить в конкретную ячейку), а в других, иных. Кстати, перед Cells(i,j).Activate, надо и лист активировать.
...
Рейтинг: 0 / 0
Применение метода Select в VBA
    #34162913
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почти все, что уже здесь написали, кроме того, что при select можно использовать фрагмент кода как для Range, так и для Shape:
http://www.dicks-blog.com/archives/2004/04/27/beginning-vba-select-and-activate/
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Применение метода Select в VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]