Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Удалить пустые столбцы со второй строки - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удалить пустые столбцы со второй строки (Макросы/Sub)
Удалить пустые столбцы со второй строки
Dilemma086 Дата: Суббота, 07.05.2016, 11:42 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Подскажите, пожалуйста, что нужно изменить в коде, чтобы удалялись пустые столбцы, при этом не учитывалась первая строка, т.к. она содержит названия?
[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]


Сообщение отредактировал Dilemma086 - Суббота, 07.05.2016, 11:43
 
Ответить
СообщениеПодскажите, пожалуйста, что нужно изменить в коде, чтобы удалялись пустые столбцы, при этом не учитывалась первая строка, т.к. она содержит названия?
[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]

Автор - Dilemma086
Дата добавления - 07.05.2016 в 11:42
_Boroda_ Дата: Суббота, 07.05.2016, 12:58 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9367
Репутация: 3940 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
удалялись пустые столбцы, при этом не учитывалась первая строка

Это как Вы себе представляете? Вот у Вас есть таблица

Вы хотите удалить столбцы н3 и н5, не удаляя текст н3 и н5. Тогда 2 варианта - или Вы хотите удалить содержимое этих столбцов (но зачем, если там и так ничего нет), или Вы хотите сместить данные влево - тогда у Вас "с" будет под н3, а "d" будет под н4, а под н5 и н6 ничего не будет.
К сообщению приложен файл: 1329278.jpg(11Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
удалялись пустые столбцы, при этом не учитывалась первая строка

Это как Вы себе представляете? Вот у Вас есть таблица

Вы хотите удалить столбцы н3 и н5, не удаляя текст н3 и н5. Тогда 2 варианта - или Вы хотите удалить содержимое этих столбцов (но зачем, если там и так ничего нет), или Вы хотите сместить данные влево - тогда у Вас "с" будет под н3, а "d" будет под н4, а под н5 и н6 ничего не будет.

Автор - _Boroda_
Дата добавления - 07.05.2016 в 12:58
KuklP Дата: Суббота, 07.05.2016, 13:33 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 2000
Репутация: 436 ±
Замечаний: 0% ±

Саш, подозреваю, что ТС хочет удалить столбцы, где кроме заголовка ничего нет, т.е:
[vba]
Код
        If Application.CountA(Columns(C)) = 1 Then
            Columns(C).Delete
        End If
[/vba]


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеСаш, подозреваю, что ТС хочет удалить столбцы, где кроме заголовка ничего нет, т.е:
[vba]
Код
        If Application.CountA(Columns(C)) = 1 Then
            Columns(C).Delete
        End If
[/vba]

Автор - KuklP
Дата добавления - 07.05.2016 в 13:33
_Boroda_ Дата: Суббота, 07.05.2016, 14:00 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 9367
Репутация: 3940 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
ТС хочет удалить столбцы, где кроме заголовка ничего нет

А, ну тогда предлагаю учесть еще вариант, когда заголовка нет, а ниже что-то есть. И вариант, когда заголовка нет и ниже ничего нет, но правее все-таки что-то есть
[vba]
Код
        If (Application.CountA(Columns(C)) = 1 And Cells(1, C) <> "") Or Application.CountA(Columns(C)) = 0 Then
            Columns(C).Delete
        End If
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
ТС хочет удалить столбцы, где кроме заголовка ничего нет

А, ну тогда предлагаю учесть еще вариант, когда заголовка нет, а ниже что-то есть. И вариант, когда заголовка нет и ниже ничего нет, но правее все-таки что-то есть
[vba]
Код
        If (Application.CountA(Columns(C)) = 1 And Cells(1, C) <> "") Or Application.CountA(Columns(C)) = 0 Then
            Columns(C).Delete
        End If
[/vba]

Автор - _Boroda_
Дата добавления - 07.05.2016 в 14:00
Dilemma086 Дата: Суббота, 07.05.2016, 15:24 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Вот так выглядит таблица, здесь удалить нужно столбцы AD и AE


Это работает:
[vba]
Код
If Application.CountA(Columns(C)) = 1 Then
            Columns(C).Delete
        End If
[/vba]
Спасибо большое, очень признателен за помощь!
 
Ответить
СообщениеВот так выглядит таблица, здесь удалить нужно столбцы AD и AE


Это работает:
[vba]
Код
If Application.CountA(Columns(C)) = 1 Then
            Columns(C).Delete
        End If
[/vba]
Спасибо большое, очень признателен за помощь!

Автор - Dilemma086
Дата добавления - 07.05.2016 в 15:24
_Boroda_ Дата: Суббота, 07.05.2016, 17:48 | Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 9367
Репутация: 3940 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Это работает:

Вы хотите сказать, что это не работает?
If (Application.CountA(Columns©) = 1 And Cells(1, C) <> "") Or Application.CountA(Columns©) = 0 Then


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Это работает:

Вы хотите сказать, что это не работает?
If (Application.CountA(Columns©) = 1 And Cells(1, C) <> "") Or Application.CountA(Columns©) = 0 Then

Автор - _Boroda_
Дата добавления - 07.05.2016 в 17:48
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удалить пустые столбцы со второй строки (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!