Новости:

Из правил форума: Тема должна отражать суть вопроса, топики типа "help please" будут удаляться!

Главное меню

Макрос. Очистка ячеек по условию

Автор 0mega, 23.12.2017, 07:47

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

0mega

Всех с наступающим.

рабочая книга может содержать от 3 до 12 листов
1 лист - 1 таблица
Кол-во строк в таблицах: 12 -150
Кол-во столбцов:  25-30
Row 1:6 это шапка, таблица начинается с 7-ой строки
Макрос должен проверить таблицы на всех листах
Оставить все ячейки с формулами и очистить содержимое ячеек без формул (форматирование,  УФ, шрифт, размер ячеек не изменять)

P.S.
если возможно , пусть макрос обрабатывает все открытые книги ( Book1, Book2  всего 4 шт)



Шпец Докапыч

Sub valClear()
    On Error Resume Next
    For Each wb In Application.Workbooks
        If wb.Name Like "Book[1-4].*" Then
            For Each sh In wb.Sheets
                sh.Range("A7:AD156").SpecialCells(2, 23).ClearContents
            Next
        End If
    Next
End Sub
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

0mega

Шпец Докапыч, здравствуйте

спасибо за ответ

Book1... Book4 - это условные имена
Настояшие имена не имеют нумерации. Как прописать имена  списком: "Book", "Test", " Work", "Учет" ?
Какое назначение "*"
"Book[1-4].*"

boa

Добавьте еще один цикл по списку имен

Sub valClear()
    On Error Resume Next
    For Each wb In Application.Workbooks
      For Each SearchName In [{"Book", "Test", " Work", "Учет"}]
        If wb.Name Like SearchName & ".*" Then
            For Each sh In wb.Sheets
                sh.Range("A7:AD156").SpecialCells(2, 23).ClearContents
            Next
        End If
      Next
    Next
End Sub
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

0mega

boa. спасибо
а  ".*" - это что и как ?

vikttur

Это точка и любое количество (от 0 и больше) знаков после нее

0mega

спасибо, всех с наступающим