Как удалить скрытые листы в excel макрос

 

serpan

Пользователь

Сообщений: 178
Регистрация: 12.11.2013

Добрый день! Подскажите пожалуйста как можно удалить все скрытые листы в книге одним кликом?

Изменено: serpan04.08.2014 11:27:11

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Нарисовать кнопку, кликнув по которой один раз, запустится макрос, который пробежится по всем листам и удалит скрытые.

 

Jack

Пользователь

Сообщений: 352
Регистрация: 01.01.1970

#3

04.08.2014 11:41:01

у нескрытых листов

Код
sh.Visible = xlSheetVisible

остальные лист скрыты. сделайте цикл по листам и удалите, проверив,

Код
sh.Visible <> xlSheetVisible

и удалите листы

 

Jack

Пользователь

Сообщений: 352
Регистрация: 01.01.1970

#4

04.08.2014 11:43:59

Цитата
serpan пишет:
удалить все скрытые листы в книге одним кликом

или… отобразить все скрытые листы. выделить их ctrl + клик, или shift + клик. правой клик и «удалить». Правда кликов получиться чуток больше)

 

CAHO

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

#5

04.08.2014 12:52:26

Все умные.
А сразу не написать?

Код
Sub УдалитьСкрытыеЛисты()
Dim Sh As Object
    For Each Sh In ActiveWorkbook.Sheets
    Application.DisplayAlerts = False  'Отключаем запрос подтверждения на удаление
        If Sh.Visible <> xlSheetVisible Then Sh.Delete 'Если лист скрытый то удаляем его
        Application.DisplayAlerts = True
    Next
MsgBox "Скрытые листы удалены.", vbInformation, "Отчёт"
End Sub
 

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

А зачем Application.DisplayAlerts внутри цикла? ))

 

serpan

Пользователь

Сообщений: 178
Регистрация: 12.11.2013

CAHO,Большое спасибо!!! Всё работает отлично!!!

 

CAHO

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

#8

04.08.2014 16:55:24

Цитата
Юрий М пишет: А зачем Application.DisplayAlerts внутри цикла? ))

Можно вынести, так-то не зачем.

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

This macro will delete all hidden worksheets within a workbook. When you run this macro a warning window will pop up for each hidden sheet making sure that you want to delete it. This is a precaution which Microsoft Excel takes and not the actually macro itself. Though, this is good because it makes sure you think twice before deleting something that could have necessary or valuable information contained within it.

Where to install the macro:  Module

Delete Hidden Worksheets

Sub DeleteHiddenWorksheets()

'This Macro will remove all hidden worksheets from a workbook.
'There will be a warning window that pops up to make sure you want
'to do this just in case there is other information that is needed
'within those hidden sheets.

i = 1
While i <= Worksheets.Count
If Not Worksheets(i).Visible Then
Worksheets(i).Delete
Else
i = i + 1
End If
Wend

End Sub


Excel VBA Course

Excel VBA Course — From Beginner to Expert

200+ Video Lessons
50+ Hours of Instruction
200+ Excel Guides

Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)

View Course

Similar Content on TeachExcel

Delete Hidden Rows in a Workbook

Macro: This macro will delete hidden rows from every worksheet in an entire workbook. However…

Require a Password to View Hidden Worksheets in Excel — VBA Tutorial

Tutorial:
Full Course
A simple macro that allows you to require a password in order to view hidden …

Delete All Chart Sheets in Excel — Only Chart Sheets are Deleted — Not Embedded Charts

Macro: Delete all chart sheets and tabs in Excel using this macro. This will only delete the char…

Hide Data Within a Worksheet in Excel

Tutorial: In Excel you can actually hide data that is stored within a worksheet.
This allows you to …

Hide Formulas in a Worksheet and Prevent Deletion

Macro: This macro will hide all formulas within a workbook and not allow them to be deleted. The …

Quickly Delete All Comments from Excel

Tutorial:
How to delete all comments and notes from all worksheets in Excel.
This works with old st…

How to Install the Macro

  1. Select and copy the text from within the grey box above.
  2. Open the Microsoft Excel file in which you would like the Macro to function.
  3. Press «Alt + F11» — This will open the Visual Basic Editor — Works for all Excel Versions.
     Or For other ways to get there, Click Here.
  4. On the new window that opens up, go to the left side where the vertical pane is located. Locate your Excel file; it will be called VBAProject (YOUR FILE’S NAME HERE) and click this.
  5. If the Macro goes in a Module, Click Here, otherwise continue to Step 8.
  6. If the Macro goes in the Workbook or ThisWorkbook, Click Here, otherwise continue to Step 8.
  7. If the Macro goes in the Worksheet Code, Click Here, otherwise continue to Step 8.
  8. Close the Microsoft Visual Basic Editor window and save the Excel file. When you close the Visual Basic Editor window, the regular Excel window will not close.
  9. You are now ready to run the macro.

Возможно, у вас есть рабочая книга, содержащая много скрытых рабочих листов, которые бесполезны и занимают так много бит, что теперь вы хотите удалить все ненужные скрытые рабочие листы. Как можно было их быстро удалить?

Удалить скрытые листы с кодом VBA

Удалите скрытые листы с помощью функции проверки документа

Удалить скрытые рабочие листы с помощью Kutools for Excel


стрелка синий правый пузырь Удалить скрытые листы с кодом VBA

Следующий код VBA удалит все скрытые листы в книге.

1. Откройте книгу, из которой вы хотите удалить скрытый рабочий лист.

2. Нажмите Застройщик > Визуальный Бейсик, Новый Microsoft Visual Basic для приложений появится окно, щелкните Вставить > Модули, затем скопируйте и вставьте в модуль следующий код:

Sub deletehidden ()
Dim a As Integer
a = 1
Хотя <= worksheets = «» count = «» span = «»>
Если не рабочие листы (а). Видно, то
Рабочие листы (а) .Удалить
Еще
а = а + 1
End If
венед
End Sub

3. Нажмите  док-умножить-расчет-3 кнопку для выполнения кода, и для каждого скрытого рабочего листа появится окно с предупреждением, чтобы убедиться, что вы действительно хотите его удалить. Смотрите скриншот:

doc-delete-hidden-worksheets1

4. Затем нажмите Удалить. И все скрытые листы были удалены.


стрелка синий правый пузырь Удалите скрытые листы с помощью функции проверки документа

С помощью функции Excel «Проверить документ» вы можете быстро и легко удалить скрытые рабочие листы.

1. Если вы используете Excel 2010/2013, вы можете нажать Файл > Инфо > Проверить наличие проблем > Осмотреть документ, см. снимок экрана:

документ удалить скрытые листы2

Если у вас есть Excel 2007, вы можете нажать Офисы Кнопку в верхнем левом углу, а затем щелкните Подготовить > Осмотреть документ. Смотрите скриншот:

документ-удалить-скрытые-строки1

2. в Инспектор документов диалоговое окно, нажмите Инспектировать кнопку.

документ удалить скрытые листы3

3. И скрытые листы будут проверены, затем нажмите Удалить все кнопку, чтобы удалить скрытые листы активной книги.

документ удалить скрытые листы4


стрелка синий правый пузырь Удалить скрытые рабочие листы с помощью Kutools for Excel

Если вы хотите быстро удалить скрытые рабочие листы, вы можете использовать Kutools for Excel.

Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно бесплатно попробовать без ограничений в течение 30 дней. Получить сейчас

После установки Kutools for Excel, вы можете сделать следующее:

1. Перейдите на ленту и щелкните Предприятие > Инструменты рабочего листа > Удалить все скрытые листы, см. снимок экрана:

документ удалить скрытые листы5

2. Затем появится окно с подсказкой, чтобы напомнить вам, действительно ли вы хотите удалить все скрытые листы. Смотрите скриншот:

документ удалить скрытые листы6

3. Нажмите Да, и появится другое окно подсказки, чтобы напомнить вам, сколько скрытых листов было удалено. Смотрите скриншот:

документ удалить скрытые листы7

4. Нажмите OK чтобы закончить эту задачу.

Щелкните Удалить все скрытые листы, чтобы узнать больше об этой функции.


Связанная статья:

Удалить все скрытые строки или столбцы


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

2 / 2 / 0

Регистрация: 19.10.2015

Сообщений: 176

1

17.12.2016, 12:02. Показов 4010. Ответов 2


Студворк — интернет-сервис помощи студентам

Здравствуйте. Нашел макрос но у меня что-то не хочет работать, помогите человеку далекому от программирования.

Код

Sub RemoveHiddenSheets()
    Dim ws As Worksheet
    Dim arrSheets As Variant
    ReDim arrSheets(0) As String
    
    With ActiveWorkbook
        MsgBox "Всего листов до удаления скрытых:  " & .Worksheets.Count
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
        
        For Each ws In .Worksheets
            If ws.Visible <> xlSheetVisible Then
                arrSheets(UBound(arrSheets)) = ws.Name
                ReDim Preserve arrSheets(UBound(arrSheets) + 1)
            End If
        Next ws
      ReDim Preserve arrSheets(UBound(arrSheets) - 1)
        .Worksheets(arrSheets).Delete
        
        Application.DisplayAlerts = True
        Application.ScreenUpdating = True
        MsgBox "Всего листов после удаления скрытых:  " & .Worksheets.Count
    End With
End Sub



0



Казанский

15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

17.12.2016, 13:29

2

lapin9126,

Visual Basic
1
2
3
4
5
6
7
8
9
Sub DeleteAllSheets()
Dim s As Object
  On Error Resume Next
  Application.DisplayAlerts = False
  For Each s In Sheets
    If Not s Is ActiveSheet Then s.Visible = xlSheetVisible: s.Delete
  Next
  Application.DisplayAlerts = True
End Sub

Учтите, что этот макрос удалит ВСЕ листы, кроме текущего, включая скрытые, очень скрытые, диаграммы, листы макросов.
Макрос из #1 удаляет только скрытые рабочие листы.



1



2 / 2 / 0

Регистрация: 19.10.2015

Сообщений: 176

17.12.2016, 13:36

 [ТС]

3

То что нужно, СПАСИБОООООООО!!!!!



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

17.12.2016, 13:36

3

Содержание

  1. Как удалить скрытые рабочие листы в Excel?
  2. Удалить скрытые рабочие листы с кодом VBA
  3. Удалите скрытые листы с помощью функции «Проверить документ».
  4. Удалите скрытые рабочие листы с помощью Kutools for Excel
  5. Лучшие инструменты для повышения производительности офиса
  6. Kutools for Excel решает большинство ваших проблем и повышает производительность на 80%
  7. Вкладка “Office”. Интерфейс с вкладками добавлен в Office, что значительно упростит вашу работу.
  8. Как удалить скрытые рабочие листы из ListBox в Microsoft Excel
  9. Похожие
  10. 1
  11. 2
  12. 3
  13. Похожие статьи
  14. Как расположить фамилии в алфавитном порядке в Excel
  15. Как определить набор микросхем звуковой карты на материнской плате
  16. Как удалить границы при копировании таблицы из Excel в Word
  17. Как открыть файл DPM
  18. Как получить доступ к учетной записи Rocketmail
  19. Можно ли делать снимки с помощью Kindle Fire HD?
  20. Как скрыть и показать панель задач
  21. Как временно отключить веб-камеру Logitech
  22. Как использовать PI в Excel
  23. Как найти скрытые Данные на компьютере
  24. Как отключить автоматическое скрытие в меню «Пуск»
  25. Как подключить коммутатор Linksys
  26. Самые популярные

Как удалить скрытые рабочие листы в Excel?

Возможно, у вас есть рабочая книга, содержащая много скрытых рабочих листов, которые бесполезны, и они занимают так много бит, теперь вы хотите удалить все ненужные скрытые листы. Как вы могли быстро удалить их?

Удалить скрытые рабочие листы с помощью кода VBA

Удалить скрытые рабочие листы с помощью Inspect Функция документа

Удаление скрытых листов с помощью Kutools for Excel

Вкладка Office Включает редактирование и просмотр с вкладками в Office и делает вашу работу намного проще …

Подробнее … Скачать бесплатно …

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%.

  • Повторное использование Что угодно: добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
  • Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты слияния: несколько книг и листов в одну; Объединить несколько ячеек/строк/столбцов без потери данных; Объедините повторяющиеся строки и суммируйте.
  • Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Из одной книги в несколько файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
  • Вставить пропуск скрытых/отфильтрованных строк; Подсчет и сумма по цвету фона; Отправляйте персонализированные электронные письма нескольким получателям массово.
  • Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделе, дню, частоте и т. Д. Фильтр жирным шрифтом, формулами, комментариями …
  • Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

Подробнее … Бесплатная загрузка …


Удалить скрытые рабочие листы с кодом VBA

Потрясающе! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Сэкономьте 50% своего времени и уменьшите тысячи щелчков мышью каждый день!

Следующий код VBA удалит все скрытые листы в книге.

1. Откройте книгу, из которой вы хотите удалить скрытый лист.

2. Нажмите Разработчик > Visual Basic , откроется новое окно Microsoft Visual Basic для приложений , нажмите Вставьте > Модуль , затем скопируйте и вставьте в модуль следующий код:

Sub deletehidden ()
Уменьшить изображение как целое
a = 1
Пока
Если не рабочие листы (a). Видно, то
Рабочие листы (a). Удалить
Остальное
a = a + 1
End If
Wend
End Sub

3. Нажмите кнопку , чтобы выполнить код, и появится окно с предупреждением для каждого скрытого листа, чтобы убедиться, что вы действительно хотите его удалить. См. Снимок экрана:

4. Затем нажмите Удалить . И все скрытые листы были удалены.


Удалите скрытые листы с помощью функции «Проверить документ».

С помощью функции «Проверить документ» в Excel вы можете быстро и легко удалить скрытые листы.

1. Если вы используете Excel 2010/2013, вы можете нажать Файл > Информация > Проверить наличие проблем > Проверить документ , см. снимок экрана:

Если у вас Excel 2007, вы можете нажать кнопку Office в верхнем левом углу, а затем нажать Подготовить > Проверить документ . См. Снимок экрана:

2. В диалоговом окне Инспектор документов нажмите кнопку Осмотреть .

3. И скрытые рабочие листы будут проверены, затем нажмите кнопку Удалить все , чтобы удалить скрытые рабочие листы активной книги.


Удалите скрытые рабочие листы с помощью Kutools for Excel

Если вы хотите быстро удалить скрытые рабочие листы, вы можете использовать Kutools for Excel.

Kutools for Excel: с более чем 300 удобными надстройками Excel, вы можете попробовать бесплатно без ограничений в течение 30 дней. Получить сейчас

После установки Kutools for Excel вы можете сделать следующее:

1. Перейдите на ленту и нажмите Enterprise > Инструменты рабочего листа > Удалить все скрытые листы , см. Снимок экрана:

2. Затем появляется окно с подсказкой, чтобы напомнить вам, действительно ли вы хотите удалить все скрытые рабочие листы. См. Снимок экрана:

3. Нажмите Да , и появится другое окно с подсказкой, чтобы напомнить вам, сколько скрытых листов было удалено. См. Снимок экрана:

4. Нажмите OK , чтобы завершить эту задачу.

Нажмите «Удалить все скрытые листы», чтобы узнать больше об этой функции.


Статья по теме:

Удалить все скрытые строки или столбцы


Лучшие инструменты для повышения производительности офиса

Kutools for Excel решает большинство ваших проблем и повышает производительность на 80%

  • Повторное использование : быстро вставляйте сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки паролем; Создавайте список рассылки и отправляйте электронные письма …
  • Панель супер формул (легко редактировать несколько строк текста и формул); Чтение макета (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон …
  • Объединить ячейки/строки/столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки/столбцы … Предотвратить дублирование ячеек; Сравнить диапазоны …
  • Выбрать повторяющиеся или уникальные строки; Выберите пустые строки (все ячейки пусты); Супер поиск и нечеткий поиск во многих книгах; Случайный выбор …
  • Точное копирование нескольких ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставка маркеров, флажков и прочего …
  • Извлечь текст, добавить текст, удалить по положению, удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии …
  • Суперфильтр (сохранение и применение схем фильтрации к другим листам); Расширенная сортировка по месяцам/неделям/дням, частоте и другим параметрам; Специальный фильтр жирным шрифтом, курсивом …
  • Объединить рабочие книги и рабочие таблицы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF …
  • Группировка сводной таблицы по номеру недели, дню недели и другим параметрам … Показывать разблокированные, заблокированные ячейки разными цветами; Выделите ячейки с формулой/именем … ->

  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2019 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

Подробнее .. . Бесплатная загрузка … Купить …


Вкладка “Office”. Интерфейс с вкладками добавлен в Office, что значительно упростит вашу работу.

  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint , Publisher, Access, Visio и Project.
  • Открывать и создавать несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

Подробнее … Скачать бесплатно … Купить …

  • 2 комментария
  • Вход
  • Сортировать по самым новым

    • Лучшее
    • Популярные
    • Новые
    • Самые старые
Вы гость
или отправьте сообщение в качестве гостя, но ваше сообщение не будет опубликовано автоматически.

Загрузка комментария … Комментарий будет обновлен после 00:00.

  • Для публикации в качестве гостя ваш комментарий не будет опубликован.

    Большое спасибо, это было здорово.

    • Ответ
  • Для публикации в качестве гостя ваш комментарий не будет опубликован.

    Спасибо, что поделились, именно то, что мне нужно.

    • Ответ


Как удалить скрытые рабочие листы из ListBox в Microsoft Excel

  • Малый бизнес
  • |

  • Бухгалтерский учет и бухгалтерия
  • |

  • Excel

Похожие

  • Как найти скрытые данные на компьютере
  • Как отключить автоматическое скрытие в меню «Пуск»
  • Как подключить коммутатор Linksys
  • Как открыть файл .P7s
  • Как деактивировать прокси-сервер

Приложение для работы с электронными таблицами Microsoft Excel позволяет вам скрывать рабочие листы. Данные на скрытых листах по-прежнему доступны в Excel, но вкладка не отображается в нижней части окна, как обычно. Эта функция полезна, если у вас есть большое количество листов или если некоторые листы могут содержать только данные, которые используются на других листах.. Навигация по книге может быть проще, если вы используете список для их перечисления, но вы должны правильно настроить его, если хотите удалить скрытые рабочие листы из списка.

1

В Excel щелкните вкладку «Разработчик», чтобы доступ к ленте разработчика.

2

Нажмите кнопку «Visual Basic», чтобы получить доступ к встроенному в Excel интерфейсу программирования Visual Basic .

3

Введите или вставьте следующий код в окно кода:

Private Sub UserForm_Initialize () Dim ws As Worksheet [ListBox Name] .Clear For Each ws In Worksheets If ws.Visible = xlSheetVisible Then [ListBox Name] .AddItem ws.Name End If Next ws End Sub

Замените «[ListBox Name]» фактическим именем списка.

Ссылки

  • Сеть разработчиков Microsoft: скрытые рабочие листы
  • Microsoft: скрыть или Показать рабочие листы или Рабочие книги
  • Сеть разработчиков Microsoft: ListBox.addItem

Советы

  • Этот код будет запускаться каждый раз при открытии книги, обновляя поле списка текущими не скрытыми листами.

Биография писателя

Майк Венчур, базирующийся в Бруклине, штат Нью-Йорк, пишет с 2005 года. Он пишет для RAND Corporation, Sterling & Ross Publishers и литературного агентства Metropol. Он также работал техническим писателем в нескольких стартапах по разработке программного обеспечения. Венчур имеет степень бакалавра искусств в области творческого письма Университета Питтсбурга..

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

Как расположить фамилии в алфавитном порядке в Excel

Как определить набор микросхем звуковой карты на материнской плате

Как удалить границы при копировании таблицы из Excel в Word

Как открыть файл DPM

Как получить доступ к учетной записи Rocketmail

Можно ли делать снимки с помощью Kindle Fire HD?

Как скрыть и показать панель задач

Как временно отключить веб-камеру Logitech

Как использовать PI в Excel

Как найти скрытые Данные на компьютере

Как отключить автоматическое скрытие в меню «Пуск»

Как подключить коммутатор Linksys

Самые популярные

  • 1 Как расположить фамилии в алфавитном порядке в Excel
  • 2 Как определить набор микросхем звуковой карты на материнской плате
  • 3 Как удалить границы при копировании таблицы из Excel в Word
  • 4 Как открыть файл DPM

Skip to content

Как удалить все листы, кроме активного

На чтение 2 мин. Просмотров 3.9k.

Что делает макрос: Макрос может удалить все листы, кроме активного рабочего листа.

Содержание

  1. Как макрос работает
  2. Код макроса
  3. Как работает код
  4. Как использовать

Как макрос работает

Этот макрос с помощью цикла пробегает по всем рабочим листам и проверяет на соответствие имени каждого рабочего листа, имя активного листа. Каждый раз, когда имя не совпадает, он удаляет лист. Обратите внимание на использование метода DisplayAlerts на шаге 4 (отключаем предупреждения Excel, чтобы не подтверждать каждое удаление).

Код макроса

Sub UdalitVseListiKromeAktivnogo()
'Шаг 1: Объявляем переменные
Dim ws As Worksheet
'Шаг 2: Запускаем цикл по всем рабочим листам
For Each ws In ThisWorkbook.Worksheets
'Шаг 3: Проверяем имя каждого рабочего листа
If ws.Name <> ThisWorkbook.ActiveSheet.Name Then
'Шаг 4: Выключаем предупреждения
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
End If
'Шаг 5: Переходим на следующий рабочий лист
Next ws
End Sub

Как работает код

  1. Объявляем переменную WS, которая будет хранить имя каждого листа.
  2. На шаге 2 макрос начинает цикл по всем рабочим листам в этой книге. Существует разница между ThisWorkbook и ActiveWorkbook. Объект ThisWorkbook относится к книге, в которой написан код макроса. ActiveWorkbook относится к книге, которая в данный момент активна. Они часто возвращают один и тот же объект, но, если рабочая книга работает, а код находится не в активной рабочей книге, они возвращают различные объекты. В этом случае, мы не хотим рисковать удалением листов в других книгах, так что мы используем ThisWorkbook.
  3. На этом этапе сравниваем активное имя листа с листом, который определяется с помощью цикла.
  4. Если имена листов различны, макрокоманда удаляет лист. Мы используем DisplayAlerts, чтобы подавить любые проверки подтверждения из Excel (чтобы не появлялось системное сообщение с вопросом: «Вы действительно хотите удалить лист?»)
  5. На шаге 5, переходим к следующему листу книги и повторяем проверку снова. После того, как пробежались по всем листам, макрос завершается.

Как использовать

Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код во вновь созданном модуле.

Обратите внимание, что при использовании ThisWorkbook в макросе вместо ActiveWorkbook, вы не сможете запустить макрос из личных макросов. Это потому, что ThisWorkbook относится к Personal Macro Workbook, а не рабочей книги, к которому следует применить макрос.

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как удалить скрытые имена excel
  • Как удалить скрипт excel
  • Как удалить скобки в ячейке excel
  • Как удалить скобки в тексте в excel
  • Как удалить скачанный word

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии