Страницы: 1
RSS
Макрос скрытия пустых колонок (игнорировать заголовки в 1ой строке), Нужно игнорировать 1 строку
 
Господа, есть макрос скрытия пустых колонок. Но в 1 строке заголовки. Что надо поправить, чтобы 1 строка игнорировалась, а поиск начинался со 2 строки?
Код
Sub HideColumn()

    Dim LastColumn As Long, nColumn As Long
 
    LastColumn = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count
    If LastColumn = 1 Then Exit Sub
 
    For nColumn = LastColumn To 1 Step -1
        If Columns(nColumn).Text = "" Then Columns(nColumn).EntireColumn.Hidden = True
    Next
End Sub
Изменено: Юрий М - 13.09.2021 12:34:29
 
Код
Sub HideColumn()
 
    Dim LastColumn As Long, nColumn As Long
  
    LastColumn = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count
    If LastColumn = 1 Then Exit Sub
  
    For nColumn = LastColumn To 2 Step -1
        If Columns(nColumn).Text = "" Then Columns(nColumn).EntireColumn.Hidden = True
    Next
End Sub
Вариант названия темы
Выполнять цикл для строк, кроме первой.
... или вариант из #3.
Изменено: МатросНаЗебре - 13.09.2021 12:23:32
 
VBA. Макрос скрытия пустых колонок (игнорировать заголовки в 1ой строке)
Код
' исправить эту часть
    For nColumn = LastColumn To 1 Step -1
        If Cells(Rows.Count,nColumn).End(xlUp).Row = 1 Then Columns(nColumn).EntireColumn.Hidden = True
    Next nColumn


Цитата
МатросНаЗебре:For nColumn = LastColumn To 2 Step -1 … If Columns(nColumn).Text = ""
это прям совсем не то  :D
Изменено: Jack Famous - 13.09.2021 12:27:25
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
favor написал:
Не совсем понятна претензия,
А что тут понимать? Название должно отражать задачу.
Поменял название.
 
Что-то не работают ваши предложения.
 
Цитата
Jack Famous написал:
это прям совсем не то  
Перечитал условие. И правда, совсем не то )
 
Код
Sub HideColumn()
  
    Dim LastColumn As Long, nColumn As Long
   
    LastColumn = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count
    If LastColumn = 1 Then Exit Sub
   
    For nColumn = LastColumn To 1 Step -1
        If Cells(Rows.Count, nColumn).End(xlUp).Row = 1 Then Columns(nColumn).EntireColumn.Hidden = True
    Next
End Sub
Изменено: МатросНаЗебре - 13.09.2021 12:41:40
 
МатросНаЗебре, Спасибо, однако сработало.
 
Все, косяк нашел. Непечатаемые символы в ячейках. Всем спасибо за помощь.
Страницы: 1
Наверх