Може да искате да скриете неактивните работни листове с този макрос. Excel не ви позволява да скриете всички листове в работна книга; трябва да се покаже поне един. Можете обаче да скриете всички освен активния лист.
Как работи макросът
Макросът тук преминава през работните листове и съпоставя името на всеки работен лист с името на активния лист. Всеки път, когато макросът се зацикли, той скрива всеки несравним работен лист.
Подмакрос1()
„Стъпка 1: Декларирайте вашите променливи
Dim ws като работен лист
„Стъпка 2: Започнете да преглеждате всички работни листове
За всеки ws В тази работна книга.Работни листове
„Стъпка 3: Проверете името на всеки работен лист
Ако ws.Name <> ThisWorkbook.ActiveSheet.Name Тогава
„Стъпка 4: Скрийте листа
ws.Visible = xlSheetHidden
Край, ако
„Стъпка 5: Преминаване към следващия работен лист
Следващата ws
Край под
Стъпка 1 декларира обект, наречен ws. Тази стъпка създава контейнер с памет за всеки работен лист, през който макросът преминава.
Стъпка 2 започва цикъла, като казва на Excel да оцени всички работни листове в тази работна книга. Обърнете внимание на разликата между ThisWorkbook и ActiveWorkbook. Обектът ThisWorkBook се отнася до работната книга, която съдържа кода. Обектът ActiveWorkBook се отнася до активната в момента работна книга. Те често връщат един и същ обект, но ако работната книга, изпълняваща кода, не е активната работна книга, те връщат различни обекти. В този случай не искате да рискувате да скриете листове в други работни книги, така че използвате ThisWorkBook.
В стъпка 3 макросът просто сравнява името на активния лист с листа, който в момента се завърта.
Ако имената на листове са различни, макросът скрива листа в стъпка 4.
В стъпка 5 се връщате назад, за да получите следващия лист. След като всички листове бъдат оценени, макросът приключва.
Имайте предвид, че използвате xlsheetHidden във вашия макрос. Това свойство прилага състоянието на скриване по подразбиране, което обикновено получавате, когато щракнете с десния бутон върху лист и изберете Скриване. В това състояние на скриване по подразбиране потребителят може да щракне с десния бутон върху всеки раздел и да избере Unhide, което показва всички скрити листове. Но друго скрито състояние е по-тайно от стандартното. Ако използвате xlSheetVeryHidden, за да скриете листовете си, потребителите изобщо няма да могат да ги видят — дори ако щракнат с десния бутон върху раздел и изберат Показване. Единственият начин да разкриете лист, скрит по този начин, е да използвате VBA.
Как да използвате макроса
За да приложите този макрос, можете да го копирате и поставите в стандартен модул:
Активирайте редактора на Visual Basic, като натиснете Alt+F11.
Щракнете с десния бутон върху името на проекта/работната книга в прозореца на проекта.
Изберете Вмъкване→Модул.
Въведете или поставете кода в новосъздадения модул.