Очень прошу у Вас помощи. У меня есть файл, где каждый день нужно очищать определенные ячейки от данных. Макрос тоже есть примитивный. Вот типа такого:
Код
Sub ы()
Application.ScreenUpdating = False
Application.Calculation = xlManual
Range("L9:L20000").ClearContents
Range("AJ9:AM20000").ClearContents
Range("BB9:BC20000").ClearContents
Range("CA9:CC20000").ClearContents
Range("CP9:CQ20000").ClearContents
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
End Sub
Но есть проблема, что сами столбцы иногда сдвигаются и получается, что очищаются нужные данные. Можно ли добавить условие, чтобы только определенные названия столбцов очищались. Пример во вложении. Буду очень благодарен, если кто-нибудь поможет.
Sub Bi()
Dim x
With ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$8").CurrentRegion, , xlYes)
.TableStyle = ""
For Each x In Split("ъ кк ее нн гг") 'перечислите заголовки столбцов через пробел
.ListColumns(x).DataBodyRange.ClearContents
Next
.Unlist 'необязательно - преобразовать таблицу в обычный диапазон
End With
End Sub
По мотивам макроса Казанского, но без применения умной таблицы
Код
Sub iColumnsClear()
Dim x
Dim iLastRow As Long
Dim x_col As Integer
For Each x In Split("ъ кк ее нн гг") 'перечислите заголовки столбцов через пробел
x_col = Rows(8).Find(x, , xlValues, xlWhole).Column
iLastRow = Cells(Rows.Count, x_col).End(xlUp).Row
Range(Cells(9, x_col), Cells(iLastRow, x_col)).ClearContents
Next
End Sub
Kuzmich, спасибо Вам еше раз за макрос. Если Вас не затруднит, есть один вопрос. А если в заголовке несколько слов через пробел, как можно его записать? Например: Цена Конкурента