Страницы: 1
RSS
зачем нужен метод Application.Goto ?
 
привет всем.  
собственно сабж.  
 
кто-нибудь использует в реальных макросах и в каких случаях это может быть нужно (или быстрее/удобнее других вариантов)?  
 
спасибо.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Это рудимент старого Васика. Используется в обработчиках ошибок. Ну еще начинающие программисты им часто пользуются:-)
Я сам - дурнее всякого примера! ...
 
Сергей, не то :)  
 
ты говоришь об операторе языка - Goto  
а я спрашиваю о методе приложения (Excel) Application.Goto
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Понял. Ну, так просто запись короче. Делается:  
workbook(xxx).activate  
sheets(yyy).activate  
range(zzz).select  
а тут одной строкой то же. И мельканий меньше:-)
Я сам - дурнее всякого примера! ...
 
офф - форум нереально тормозит, уже даже 504 Gateway Time-out выкидывает...  
 
Я встречал в основном такое применение:  
 
Sub Show_Code()  
Application.Goto "Show_Code"  
End Sub
 
Вообще-то в Справке все написано, в т.ч. про отличие Application.Goto от Select.  
В частности:  
1. Чтобы выделить диапазон на неактивном листе, Application.Goto не требует предварительно активировать лист.  
2. С помощью Application.Goto можно открыть окно VBE на нужной процедуре, например  
 
Sub bb()  
Application.Goto "bb"  
End Sub  
 
=74444=
 
Алексей :)  
я справку читаю. худо-бедно.  
просто я ни в одном примере с форумов не видел использования этого метода. ни разу. это не значит, что их вовсе нет, но я не видел. возможно - бывают, но редко.  
вопрос был - использует кто-нибудь или нет.  
 
ответ я, конечно, получил.  
 
к процедуре иначе перейти нельзя (но это почти экзотика, нужная, скорее, в отладочных целях или для целей обучения), а выделение ячейки - удобнее и быстрее (при том, что выделение ячейки в макросах нужно крайне редко).  
 
спасибо большое всем.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Я аналогичный вопрос задавал по функции листа ЕССЫЛКА().  
Нашлось таки пару применений ;-)
 
выходит - смотря какой макрос.  
в тех макросах, которые обычно пишу и использую я, в основном нужна различная обработка данных, выполнять которую иначе - сложно, долго, муторно и т.п.  
для таких макросов этот метод не нужен.  
 
если же писать макросы, активно взаимодействующие с пользователем, отображающие промежуточные расчеты, требующие выделения каких-то диапазонов-источников и т.п. - то, возможно, этот метод удобен и даже незаменим.  
 
ну а если писать какую-то обучалку-справочник с отерытыми исходными кодами - то очень удобно, посмотрев на результаты работы макроса или функции, по одному щелчку быстро перейти к исходному коду.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Саш, ну мало ли чего на форуме не встретишь! Я, например, и GoSub не встречал. А вполне вещь.
 
вот как раз gosub и return я встречал.  
кстати, именно в примере от Казанского :)  
некоторое время тупо смотрел на код, потом пошёл матчасть доучивать. :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Александр, Application.GoTo использовано в надстройке координатного выделения для того, чтобы "пронизывать" объединенные ячейки, Select так не умеет. Подробнее здесь:   
http://www.planetaexcel.ru/forum.php?thread_id=3620
 
Владимир, спасибо.  
как всегда - всё оч.наглядно и подробно.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Страницы: 1
Читают тему
Наверх