Тази статия ще обсъди обекта ActiveSheet във VBA. Той също така ще обсъди как да активирате, изберете и отидете на работни листове (и много повече). Прочетете нашето пълно ръководство за VBA работни листове за повече информация за работата с работни листове във VBA.
ActiveSheet
Във VBA ActiveSheet се отнася до текущо активния работен лист. Само един лист може да бъде активен наведнъж.
Активиране на работен лист (Настройване на ActiveSheet)
За да зададете ActiveSheet, използвайте работен лист. Активирайте:
1 | Работни листове ("Въвеждане"). Активирайте |
Командата Активиране на лист всъщност ще „отиде“ на листа, променяйки видимия лист.
Горният пример използва името Sheet (Tab). Вместо това можете да използвате кодовото име на VBA за работния лист:
1 | Лист 1. Активирайте |
Име на ActiveSheet
За да получите името на ActiveSheet:
1 | msgbox ActiveSheet.name |
Избрани листове срещу ActiveSheet
Във всеки момент от време само един лист може да бъде ActiveSheet. Въпреки това, няколко работни листа могат да бъдат избрани наведнъж.
Когато са избрани няколко работни листа, само „най-горният“ работен лист се счита за активен (ActiveSheet).
Изберете Работен лист
Ако искате да изберете работен лист, вместо да го активирате. Използвайте. Изберете вместо това.
Изберете Работен лист по име на раздел
Това избира работен лист въз основа на името на раздела на листа
1 | Таблици („Въвеждане“). Изберете |
Изберете работен лист по номер на индекс
Това избира работен лист въз основа на позицията му спрямо други раздели
1 | Работни листове (1). Изберете |
Изберете работен лист с кодово име VBA
1 | Лист 1. Изберете |
Избирането на работни листове по кодово име може да предотврати грешки, причинени от промени в името на работния лист.
Изберете Текущ работен лист
За да изберете текущия работен лист, използвайте обекта ActiveSheet:
1 | ActiveSheet.Select |
Още активиране / избор на примери на листове
Задайте ActiveSheet на Променлива
Това ще присвои ActiveSheet на променлива на обект на работен лист.
123 | Затъмнете като работен листЗадайте ws = ActiveSheet |
Променете името на ActiveSheet
Това ще промени името на ActiveSheet.
1 | ActiveSheet.Name = "Ново име" |
С ActiveSheet
Използването на оператора With ви позволява да рационализирате кода си при работа с обекти (като Sheets или ActiveSheet).
12345 | С ActiveSheet.Name = "StartFresh".Клетки. Ясно.Range ("A1"). Стойност = .NameКрай с |
Забележете как не е необходимо да повтаряте „ActiveSheet“ преди всеки ред код. Това може да спести много време при работа с дълъг списък от команди.
Превъртете избрани листове
Следващият макрос ще прегледа всички избрани листове, показвайки техните имена.
12345678 | Sub GetSelectedSheetsName ()Затъмнете като работен листЗа всеки ws в ActiveWindow.SelectedSheetsMsgBox ws.NameСледващата wsEnd Sub |
Отидете на следващия лист
Този код ще премине към следващия лист. Ако ActiveSheet е последният лист, той ще премине към първия лист в работната книга.
12345 | Ако ActiveSheet.Index = Работни листове. Пребройте тогаваРаботни листове (1). АктивирайтеИначеActiveSheet.Next.ActivateКрай Ако |