Как выделить ячейку неактивного рабочего листа, без использования методов .Select или .Activate

code: #vba
Application.Goto Reference:=Worksheets(3).Range("A1") 
code: #vba
Application.Goto Reference:=Worksheets("Manager").Range("A1")
Используя этот метод, мы также можем выделить диапазон ячеек, в том числе и несмежных :
code: #vba
Application.Goto Reference:=Worksheets(3).Range("A1:C10") 
Application.Goto Reference:=Worksheets(3).Range("A1,C3,D5:F10")
code: #vba
Application.Goto Reference:=Worksheets("Manager").Range("A1:C10") 
Application.Goto Reference:=Worksheets("Manager").Range("A1,C3,D5:F10")
Предполагается, что : 3 - это индекс рабочего листа Manager - это имя рабочего листа Также допускается выделение ячеек неактивной рабочей книги :
code: #vba
Application.Goto _ 
Reference:=Workbooks("Report.xls").Worksheets("Sales").Range("M13")
code: #vba
Application.Goto _ 
Reference:=Workbooks("Report.xls").Worksheets(1).Range("M13")
code: #vba
Application.Goto _ 
Reference:=Workbooks(2).Worksheets("Sales").Range("M13")
code: #vba
Application.Goto _ 
Reference:=Workbooks(2).Worksheets(1).Range("M13")
Предполагается, что : 2 - это индекс открытой рабочей книги Report.xls - это имя открытой рабочей книги 1 - это индекс рабочего листа Sales - это имя рабочего листа Также допускается выделение именованных ячеек и диапазонов :
code: #vba
Application.Goto Reference:=Range("Дата") 
Application.Goto "Дата" 
Application.Goto [Дата] 
Application.Goto Reference:="Дата" 
Application.Goto Reference:=[Дата]
Предполагается, что : Дата - это имя ячейки или диапазона ячеек уровня рабочей книги Для выделения именованных ячеек уровня рабочего листа, необходимо : либо добавить ссылку на рабочий лист, либо указать полное имя
code: #vba
Application.Goto _ 
Reference:=Worksheets(3).Range("Дата") 
Application.Goto _ 
Reference:=Worksheets("Manager").Range("Дата") 
 
Application.Goto Reference:=Range("Manager!Дата") 
Application.Goto [Manager!Дата] 
Application.Goto Reference:="Manager!Дата"
Для выделения именованных ячеек неактивной рабочей книги, нужно добавить ссылку на эту книгу. Совет : Используя свойство .PreviousSelections можно узнать диапазон, который был выделен перед применением метода .GoTo
code: #vba
With Application 
     If IsArray(.PreviousSelections) = True Then 
        For Each iSelection In .PreviousSelections 
            MsgBox iSelection.Address(External:=True) 
        Next 
     End If 
End With
Поделиться:

Похожие статьи:

теги: vba, basic