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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление строк по условию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление строк по условию (Макросы/Sub)
Удаление строк по условию
jurafenix Дата: Воскресенье, 08.02.2015, 13:58 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Добрый день, уважаемый форумчане!
Совсем не силен в VBA, поэтому решил обратиться за помощью к знающим людям. Есть файл, его структура представлена в приложенном файле. Примерная. Мне необходимо удалить все строки, которые не начинаются на 4 или начинаются 42309...
А также удалить пустые столбцы...
Возможно ли такое?
Заранее всем спасибо!
К сообщению приложен файл: 4962903.xlsx (13.8 Kb)
 
Ответить
СообщениеДобрый день, уважаемый форумчане!
Совсем не силен в VBA, поэтому решил обратиться за помощью к знающим людям. Есть файл, его структура представлена в приложенном файле. Примерная. Мне необходимо удалить все строки, которые не начинаются на 4 или начинаются 42309...
А также удалить пустые столбцы...
Возможно ли такое?
Заранее всем спасибо!

Автор - jurafenix
Дата добавления - 08.02.2015 в 13:58
Leanna Дата: Воскресенье, 08.02.2015, 14:22 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
Возможно такое
[vba]
Код
Sub макрос()
lc = Cells(Rows.Count, 1).End(xlUp).Row
For i = lc To 1 Step -1
     txt = Cells(i, "A")
     If Left(txt, 5) = "42309" Then
         Rows(i).Delete
     ElseIf Left(txt, 1) <> "4" Then
         Rows(i).Delete
     End If
Next

For j = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
EmptyColumn = True
     For i = 1 To lc
         If Len(Trim(Cells(i, j))) Then
             EmptyColumn = False
             Exit For
         End If
     Next
If EmptyColumn Then Columns(j).Delete
Next
End Sub
[/vba]
К сообщению приложен файл: 4962903.xlsm (24.8 Kb)


Лучше день потерять, потом за пять минут долететь!
 
Ответить
СообщениеВозможно такое
[vba]
Код
Sub макрос()
lc = Cells(Rows.Count, 1).End(xlUp).Row
For i = lc To 1 Step -1
     txt = Cells(i, "A")
     If Left(txt, 5) = "42309" Then
         Rows(i).Delete
     ElseIf Left(txt, 1) <> "4" Then
         Rows(i).Delete
     End If
Next

For j = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
EmptyColumn = True
     For i = 1 To lc
         If Len(Trim(Cells(i, j))) Then
             EmptyColumn = False
             Exit For
         End If
     Next
If EmptyColumn Then Columns(j).Delete
Next
End Sub
[/vba]

Автор - Leanna
Дата добавления - 08.02.2015 в 14:22
jurafenix Дата: Воскресенье, 08.02.2015, 15:08 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Спасибо огромное!!!!!!!!! Все работает как часы!))
 
Ответить
СообщениеСпасибо огромное!!!!!!!!! Все работает как часы!))

Автор - jurafenix
Дата добавления - 08.02.2015 в 15:08
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление строк по условию (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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