Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: GhOsT от 10 июля 2018, 14:12

Название: Excel VBA Макросы: Удаление столбцов по условию.
Отправлено: GhOsT от 10 июля 2018, 14:12
Мне надо удалить столбцы с условием что ниже 5-ой строки никаких данных в ячейках нет!
Название: Re: Excel VBA Макросы: Удаление столбцов по условию.
Отправлено: Администратор от 10 июля 2018, 14:39
Макрос просматривает столбцы с первого по десятый.

Макрос
Sub макрос()
   
    Dim lr As Long, j As Long
   
   
    ' Отключение монитора. Это ускорит макрос.
        ' Если много формул, то можно ещё отключить формулы.
    Application.ScreenUpdating = False
   
    ' Двигаемся по столбцам от 10 до 1.
    For j = 10 To 1 Step -1

        ' Поиск последней строки.
            ' End не ищет в скрытых строках.
        lr = Cells(Rows.Count, j).End(xlUp).Row
       
        ' Если ниже пятой строки нет данных.
        If lr < 6 Then
            ' Удаление столбца.
            Columns(j).Delete
        End If
       
    Next j
   
    ' Включение монитора.
    Application.ScreenUpdating = True
   
    ' Сообщение.
    MsgBox "Готово.", vbInformation

End Sub
[свернуть]
Название: Re: Excel VBA Макросы: Удаление столбцов по условию.
Отправлено: GhOsT от 10 июля 2018, 14:53
Спасибо большое за помощь!