Подскажите, пожалуйста, что нужно изменить в коде, чтобы удалялись пустые столбцы, при этом не учитывалась первая строка, т.к. она содержит названия? [vba]
Код
Sub Удалить_Столбы_Пустые () Dim C As Long, FirstColumn As Long, LastColumn As Long FirstColumn = ActiveWorkbook.ActiveSheet.UsedRange.Column LastColumn = ActiveWorkbook.ActiveSheet.UsedRange.Columns.Count - 1 + ActiveWorkbook.ActiveSheet.UsedRange.Column For C = LastColumn To FirstColumn Step -1 If Application.CountA(Columns(C)) = 0 Then Columns(C).Delete End If Next C
End Sub
[/vba]
Подскажите, пожалуйста, что нужно изменить в коде, чтобы удалялись пустые столбцы, при этом не учитывалась первая строка, т.к. она содержит названия? [vba]
Код
Sub Удалить_Столбы_Пустые () Dim C As Long, FirstColumn As Long, LastColumn As Long FirstColumn = ActiveWorkbook.ActiveSheet.UsedRange.Column LastColumn = ActiveWorkbook.ActiveSheet.UsedRange.Columns.Count - 1 + ActiveWorkbook.ActiveSheet.UsedRange.Column For C = LastColumn To FirstColumn Step -1 If Application.CountA(Columns(C)) = 0 Then Columns(C).Delete End If Next C
удалялись пустые столбцы, при этом не учитывалась первая строка
Это как Вы себе представляете? Вот у Вас есть таблица
Вы хотите удалить столбцы н3 и н5, не удаляя текст н3 и н5. Тогда 2 варианта - или Вы хотите удалить содержимое этих столбцов (но зачем, если там и так ничего нет), или Вы хотите сместить данные влево - тогда у Вас "с" будет под н3, а "d" будет под н4, а под н5 и н6 ничего не будет.
удалялись пустые столбцы, при этом не учитывалась первая строка
Это как Вы себе представляете? Вот у Вас есть таблица
Вы хотите удалить столбцы н3 и н5, не удаляя текст н3 и н5. Тогда 2 варианта - или Вы хотите удалить содержимое этих столбцов (но зачем, если там и так ничего нет), или Вы хотите сместить данные влево - тогда у Вас "с" будет под н3, а "d" будет под н4, а под н5 и н6 ничего не будет._Boroda_
ТС хочет удалить столбцы, где кроме заголовка ничего нет
А, ну тогда предлагаю учесть еще вариант, когда заголовка нет, а ниже что-то есть. И вариант, когда заголовка нет и ниже ничего нет, но правее все-таки что-то есть [vba]
Код
If (Application.CountA(Columns(C)) = 1 And Cells(1, C) <> "") Or Application.CountA(Columns(C)) = 0 Then Columns(C).Delete End If
ТС хочет удалить столбцы, где кроме заголовка ничего нет
А, ну тогда предлагаю учесть еще вариант, когда заголовка нет, а ниже что-то есть. И вариант, когда заголовка нет и ниже ничего нет, но правее все-таки что-то есть [vba]
Код
If (Application.CountA(Columns(C)) = 1 And Cells(1, C) <> "") Or Application.CountA(Columns(C)) = 0 Then Columns(C).Delete End If