powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Select Activate принципиальная разница
7 сообщений из 7, страница 1 из 1
Select Activate принципиальная разница
    #33174788
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Range("B2").Select
Range("B1").Activate

В чем принципиальная разница ? В данном примере ведут себя одинаково.
...
Рейтинг: 0 / 0
Select Activate принципиальная разница
    #33174799
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talgatRange("B2").Select
Range("B1").Activate

В чем принципиальная разница ? В данном примере ведут себя одинаково.
Во втором случае фокус передается на лист содержащий ячейку и неявно вызывается первая команда.
...
Рейтинг: 0 / 0
Select Activate принципиальная разница
    #33174807
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во втором случае фокус передается на лист содержащий ячейку и неявно вызывается первая команда

Что называется "ВЛЕЗ". Теперь придется разбиратся что такое фокус.
Спасибо.
...
Рейтинг: 0 / 0
Select Activate принципиальная разница
    #33176900
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:) Фокус ввода - где у тебя находится логический курсор. То есть тот визуальный объект на экране который ПЕРВЫМ обработает нажатие кнопки на клавиатуре.
Например у тебя на листе есть объект кнопка и ты ткнул мышкой по кнопке - запускается макрос, если теперь в нем ты делаешь Range("a1").Select, то ячейка выберется, но фокус останется на кнопке. И после отработки макроса если ты нажмешь пробел - кнопка сработает еще раз. Кстати, если ты в макросе будешь использовать Range() без указания какому листу этот Range принадлежит - эксель попытается найти Range у кнопки - обломается и выдаст ошибку. Плюс некоторые функции листа требуют чтобы фокус находился на какой-либо ячейке самого листа, а не на объекте или другом листе.

Range.Activate перенесет фокус на левую верхнюю ячейку указаной области, и вызовет Range.Select для этой области.
...
Рейтинг: 0 / 0
Select Activate принципиальная разница
    #33176973
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl:) Фокус ввода - где у тебя находится логический курсор. То есть тот визуальный объект на экране который ПЕРВЫМ обработает нажатие кнопки на клавиатуре.
Например у тебя на листе есть объект кнопка и ты ткнул мышкой по кнопке - запускается макрос, если теперь в нем ты делаешь Range("a1").Select, то ячейка выберется, но фокус останется на кнопке. И после отработки макроса если ты нажмешь пробел - кнопка сработает еще раз. Кстати, если ты в макросе будешь использовать Range() без указания какому листу этот Range принадлежит - эксель попытается найти Range у кнопки - обломается и выдаст ошибку. Плюс некоторые функции листа требуют чтобы фокус находился на какой-либо ячейке самого листа, а не на объекте или другом листе.

Range.Activate перенесет фокус на левую верхнюю ячейку указаной области, и вызовет Range.Select для этой области.

Спасибо за пояснения !
...
Рейтинг: 0 / 0
Select Activate принципиальная разница
    #33177022
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторRange.Activate перенесет фокус на левую верхнюю ячейку указаной области
всегда
автор и вызовет Range.Select для этой области.
только в случае, когда активизируемая ячейка не принадлежит текущей области выбора
пример:
код
Range("A1:C3").Select
Range("B2").Activate
не меняет текущий Selection

а здесь:
Range("A1:C3").Select
Range("E5").Activate
происходит замена Selection, что может быть выражено и употребленными в цитате словами.
...
Рейтинг: 0 / 0
Select Activate принципиальная разница
    #33177591
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а здесь:
Range("A1:C3").Select
Range("E5").Activate
происходит замена Selection, что может быть выражено и употребленными в цитате словами

Т.е. ВНЕ ВЫДЕЛЕННОЙ ОБЛАСТИ
Спасибо за разъяснения
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Select Activate принципиальная разница
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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