Мне надо удалить столбцы с условием что ниже 5-ой строки никаких данных в ячейках нет!
Макрос просматривает столбцы с первого по десятый.
Макрос
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