Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Удалить все листы в книге кроме некоторых

Автор SergioGach, 10.05.2011, 23:00

« назад - далее »

SergioGach

Добрый день!
Не подскажете, как можно решить подобную задачу:
В книге есть листы ( разное количество, каждый раз разные имена), нужно удалить все кроме некоторих (имена которых известны и постоянны).

Например: Есть 3 листа (имя постоянное), макрос копирует еще n-ое (3 или 5 или 15) количество листов (имена разные, неизвестные).
Печатаем книгу, сохраняем. Следующий макрос удаляет все листы кроме первих трех.

Спасибо!

Andrey Lenets

примерно так:
Sub Del3Sheets()
    Dim s As Object, a As Variant, i As Integer, d As Boolean
    a = Array("SheetName1", "SheetName2", "SheetName3")
    Application.DisplayAlerts = False
    For Each s In Sheets
        d = True
        For i = LBound(a) To UBound(a)
            If s.Name = a(i) Then d = False
        Next i
        If d Then s.Delete
    Next s
    Application.DisplayAlerts = True
End Sub

SergioGach