Страницы: 1
RSS
Автоматически очистить данные в заданных ячейках на листах
 
Добрый день, уважаемые участники форума!. Помогите пожалуйста с вопросом. Есть книга эксель с 30 листами, на которых в таблицах находятся данные по предприятиям. Как можно сделать макрос, который при нажатии кнопки очищал определенные данные на всех листах кроме Сводного. В примере ячейки, которые необходимо очищать закрашены в темный цвет.
Большое спасибо!!!
 
Если таблицы абсолютно одинаковые и на листах расположены одинаково то через Ctrl выделяете листы на которых нужно очистить, на активном листе выделяете диапазон и Delete
Лень двигатель прогресса, доказано!!!
 
Одинаковы получилось только на примере, а в реальном случае таблиц на каждом несколько и расположены они по разному, у одних предприятий есть больше чем у остальных таблиц на листе.
 
я конечно не рунописец но как вы макросу объясните что надо почистить на первом листе диапазон от сель до сель у первой таблички а на втором листе нужно почистить диапазон не у первой а у третьей которая смещена на 10 столбцов в право
Лень двигатель прогресса, доказано!!!
 
Понятно, значит это нельзя сделать. Все равно спасибо Вам!
 
Цитата
Понятно, значит это нельзя сделать
Вы реальный пример приведите, где на листе несколько таблиц и какие диапазоны надо очистить
 
К сожалению реальный пример выложить не могу.
 
Ну а как же мы узнаем, какие диапазоны очищать?
Вы приложите пример, отражающий структуру данных, а сами данные замените яблоками, грушами и т.д.
 
Цитата
eska написал: реальный пример выложить не могу.
Создайте аналог.
 
Вот выкладываю реальный пример, только там не 30 листов, а 8. Ячейки, данные в которых необходимо очистить, закрашены.
 
В стандартный модуль
Код
Sub ОчисткаДанных()
Dim Sht As Worksheet
  With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
    .Calculation = xlCalculationManual
  End With
       'цикл по всем листам
For Each Sht In Worksheets
     With Sht
        Select Case Sht.Name
            Case "Таблица1"
                .Range("E5:F23").ClearContents
            Case "Таблица2"
                .Range("D6:G24").ClearContents
                .Range("L6:N24").ClearContents
            Case "Таблица3"
                .Range("C4:G22").ClearContents
            Case "Таблица4"
                .Range("E5:G23").ClearContents
                .Range("I5:L23").ClearContents
                
                '.............................
                
            Case "Таблица30"
                .Range("D4:I22").ClearContents
        End Select
     End With
Next
  With Application
    .ScreenUpdating = True
    .DisplayAlerts = True
    .Calculation = xlCalculationAutomatic
  End With
End Sub
Диапазоны остальных таблиц впишите аналогично
 
Только учтите, если у Вас данные в таблице свод ссылаются на остальные листы, они тоже "обнулятся".
 
Kuzmich, Работает. Большое Вам спасибо!!! Очень помогли.
Страницы: 1
Наверх