Переход к заданному диапазону или к процедуре VBA в любой открытой книге Excel с помощью метода Application.Goto, неактивная книга активируется.
Метод Application.Goto
Application.Goto — это метод, который активирует указанную книгу, если она неактивна, и выделяет заданный диапазон ячеек или отображает заданную процедуру в редакторе VBA.
Если книга Excel в ссылке для перехода не будет указана, выбор диапазона ячеек или процедуры VBA будет осуществлен в активной книге.
Синтаксис
Синтаксис метода Application.Goto:
1 |
Application.Goto (Reference, Scroll) |
Параметры
Параметры метода Application.Goto:
Параметр | Описание |
---|---|
Reference | Ссылка на объект Range или на процедуру VBA. Необязательный параметр. Если этот аргумент опущен, будет отображен последний диапазон, выбранный методом Goto или вручную. |
Scroll | Задает способ прокрутки выбранного диапазона:
Необязательный параметр. Значение по умолчанию — False. |
Примечания
- Заданный диапазон можно выделить с помощью метода Range.Select, но он не работает с прокруткой листа.
- При использовании метода Application.Goto для выделения диапазона ячеек, предыдущие выборы сохраняются (до 4 выборов)*.
- Тесты показали, что методы Application.Goto и Range.Select не работают со свернутыми книгами (Application.WindowState = xlMinimized).
* Просмотреть сохраненные выборы диапазонов ячеек методом Application.Goto можно с помощью свойства Application.PreviousSelections:
1 2 3 4 5 6 7 8 9 10 |
Sub PrevSel() Dim i As Byte On Error GoTo Instruk For i = LBound(Application.PreviousSelections) To UBound(Application.PreviousSelections) MsgBox Application.PreviousSelections(i).Address Next i Exit Sub Instruk: MsgBox "Предыдущих выборов нет" End Sub |
Примеры
Application.Goto для активной книги
Переход к заданному диапазону или к процедуре VBA в активной книге Excel:
1 2 3 4 5 6 |
'Отображение процедуры "Test", расположенной в "Module1" активной книги Application.Goto "Module1.Test" 'Выделение диапазона Application.Goto Sheets("Лист1").Range("A40:E50") Application.Goto Sheets("Лист1").Range("A40:E50"), True |
Application.Goto для любой книги
Переход к заданному диапазону или к процедуре VBA в любой открытой книге Excel:
1 2 3 4 5 6 |
'Отображение процедуры "Test", расположенной в "Module1" книги "Книга2.xlsm" Application.Goto "Книга2.xlsm!Module1.Test" 'Выделение диапазона Application.Goto Workbooks("Книга2.xlsm").Sheets("Лист1").Range("A40:E50") Application.Goto Workbooks("Книга2.xlsm").Sheets("Лист1").Range("A40:E50"), True |
Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.