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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление столбцов если ниже 5-ой строки данных в ячейках нет - Мир MS Excel

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

Excel 2016
Здравствуйте! У меня такая задача! Мне надо удалить столбцы с условием что ниже 5-ой строки никаких данных в ячейках нет!
 
Ответить
СообщениеЗдравствуйте! У меня такая задача! Мне надо удалить столбцы с условием что ниже 5-ой строки никаких данных в ячейках нет!

Автор - GhOsT
Дата добавления - 10.07.2018 в 14:21
китин Дата: Вторник, 10.07.2018, 15:17 | Сообщение № 2
Группа: Модераторы
Ранг: Участник клуба
Сообщений: 5100
Репутация: 809 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
без файла только так
[vba]
Код
Sub ttt()
Dim tut&
tut = Cells(1, Columns.Count).End(xlToLeft).Column
  For i = tut To 1 Step -1
   If Cells(6, i) = "" Then
     Columns(i).Delete
   End If
  Next i
End Sub
[/vba]
[p.s.]только не пробуйте на реальном файле. действие макроса не отменить


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538


Сообщение отредактировал китин - Вторник, 10.07.2018, 15:18
 
Ответить
Сообщениебез файла только так
[vba]
Код
Sub ttt()
Dim tut&
tut = Cells(1, Columns.Count).End(xlToLeft).Column
  For i = tut To 1 Step -1
   If Cells(6, i) = "" Then
     Columns(i).Delete
   End If
  Next i
End Sub
[/vba]
[p.s.]только не пробуйте на реальном файле. действие макроса не отменить

Автор - китин
Дата добавления - 10.07.2018 в 15:17
_Boroda_ Дата: Вторник, 10.07.2018, 15:27 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13421
Репутация: 5507 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А у меня без файла только так :D
[vba]
Код
Sub tt()
    c_ = Cells(1).SpecialCells(xlLastCell).Column
    r_ = Cells(1).SpecialCells(xlLastCell).Row
    r0_ = 5
    Application.ScreenUpdating = 0
    Application.Calculation = xlCalculationManual
    If r_ <= r0_ Then
        Cells(1).Resize(1, c_).EntireColumn.Delete
    Else
        For i = c_ To 1 Step -1
            r_ = Cells(Rows.Count, i).End(3).Row
            If r_ <= r0_ Then Columns(i).Delete
        Next i
    End If
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = 1
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА у меня без файла только так :D
[vba]
Код
Sub tt()
    c_ = Cells(1).SpecialCells(xlLastCell).Column
    r_ = Cells(1).SpecialCells(xlLastCell).Row
    r0_ = 5
    Application.ScreenUpdating = 0
    Application.Calculation = xlCalculationManual
    If r_ <= r0_ Then
        Cells(1).Resize(1, c_).EntireColumn.Delete
    Else
        For i = c_ To 1 Step -1
            r_ = Cells(Rows.Count, i).End(3).Row
            If r_ <= r0_ Then Columns(i).Delete
        Next i
    End If
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = 1
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 10.07.2018 в 15:27
boa Дата: Вторник, 10.07.2018, 15:50 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 38 ±
Замечаний: 0% ±

2013, 365
GhOsT,
или вот так
[vba]
Код
Sub DeleteColumns()
    With Application: .ScreenUpdating = False: .EnableEvents = False
    Dim LastCol&, i&
    LastCol = .ActiveSheet.UsedRange.SpecialCells(xlLastCell).Column
    For i = LastCol To 1 Step -1
        If .WorksheetFunction.CountA(Range(Cells(6, i), Cells(Rows.Count, i))) = 0 Then Columns(i).Delete
    Next
    .ScreenUpdating = True: .EnableEvents = True: End With
End Sub
[/vba]




Сообщение отредактировал boa - Вторник, 10.07.2018, 15:54
 
Ответить
СообщениеGhOsT,
или вот так
[vba]
Код
Sub DeleteColumns()
    With Application: .ScreenUpdating = False: .EnableEvents = False
    Dim LastCol&, i&
    LastCol = .ActiveSheet.UsedRange.SpecialCells(xlLastCell).Column
    For i = LastCol To 1 Step -1
        If .WorksheetFunction.CountA(Range(Cells(6, i), Cells(Rows.Count, i))) = 0 Then Columns(i).Delete
    Next
    .ScreenUpdating = True: .EnableEvents = True: End With
End Sub
[/vba]

Автор - boa
Дата добавления - 10.07.2018 в 15:50
monstr_ork Дата: Вторник, 10.07.2018, 17:48 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 92
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Товарищи, подскажите код, пожалуйста если требуется оставить столбцы по условию, а остальные удалить?
Мне , к примеру, нужно оставить стоблец2,4, 8 и 10
К сообщению приложен файл: 3657279.xlsm(16.6 Kb)


Сообщение отредактировал monstr_ork - Вторник, 10.07.2018, 17:58
 
Ответить
СообщениеТоварищи, подскажите код, пожалуйста если требуется оставить столбцы по условию, а остальные удалить?
Мне , к примеру, нужно оставить стоблец2,4, 8 и 10

Автор - monstr_ork
Дата добавления - 10.07.2018 в 17:48
Pelena Дата: Вторник, 10.07.2018, 18:50 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 13192
Репутация: 2908 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
monstr_ork, вроде не первый день на форуме. Зачем в чужой теме постите? Создайте свою


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщениеmonstr_ork, вроде не первый день на форуме. Зачем в чужой теме постите? Создайте свою

Автор - Pelena
Дата добавления - 10.07.2018 в 18:50
monstr_ork Дата: Вторник, 10.07.2018, 20:20 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 92
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
просто по теме подходит " Удаление столбцов", чтобы не плодить темы. ну ладно =(


Сообщение отредактировал monstr_ork - Вторник, 10.07.2018, 20:38
 
Ответить
Сообщениепросто по теме подходит " Удаление столбцов", чтобы не плодить темы. ну ладно =(

Автор - monstr_ork
Дата добавления - 10.07.2018 в 20:20
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление столбцов если ниже 5-ой строки данных в ячейках нет (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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