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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Удалить по условию
dx84 Дата: Вторник, 15.04.2014, 23:18 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: -8 ±
Замечаний: 80% ±

Excel 2010
Всем доброго времени суток! Есть вот такая задачка.
В файле под названием заказы имеется лист «Заказы» в нем 5 заказов с данными, №1,№2,№3,№4,№5 из них надо удалить №2 и №3 с данными. По типу ввел в ячейки заказ №2,№3 нажал на кнопочку не желанное улетело! Важно чтоб удалялись строчки! Если все это конечно возможно:)
К сообщению приложен файл: 5062492.xlsx (10.3 Kb)
 
Ответить
СообщениеВсем доброго времени суток! Есть вот такая задачка.
В файле под названием заказы имеется лист «Заказы» в нем 5 заказов с данными, №1,№2,№3,№4,№5 из них надо удалить №2 и №3 с данными. По типу ввел в ячейки заказ №2,№3 нажал на кнопочку не желанное улетело! Важно чтоб удалялись строчки! Если все это конечно возможно:)

Автор - dx84
Дата добавления - 15.04.2014 в 23:18
Nic70y Дата: Вторник, 15.04.2014, 23:39 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9056
Репутация: 2383 ±
Замечаний: 0% ±

Excel 2010
Как умею, так и пользуюсь рекордером.
К сообщению приложен файл: 19.xlsm (15.2 Kb)


ЮMoney 41001841029809
 
Ответить
СообщениеКак умею, так и пользуюсь рекордером.

Автор - Nic70y
Дата добавления - 15.04.2014 в 23:39
AlexM Дата: Вторник, 15.04.2014, 23:52 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Еще вариант
[vba]
Код
Sub Macros()
Dim zakaz As Long, i As Long
zakaz = InputBox("Укажите № удаляемого заказа", "Удаление заказа")
For i = Range("E" & Rows.Count).End(xlUp).Row To 1 Step -1
     If Range("E" & i) = "№" & zakaz Then Rows(i).Resize(4).Delete Shift
Next i
End Sub
[/vba]
К сообщению приложен файл: 5062492_new.xls (32.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеЕще вариант
[vba]
Код
Sub Macros()
Dim zakaz As Long, i As Long
zakaz = InputBox("Укажите № удаляемого заказа", "Удаление заказа")
For i = Range("E" & Rows.Count).End(xlUp).Row To 1 Step -1
     If Range("E" & i) = "№" & zakaz Then Rows(i).Resize(4).Delete Shift
Next i
End Sub
[/vba]

Автор - AlexM
Дата добавления - 15.04.2014 в 23:52
AlexM Дата: Среда, 16.04.2014, 00:20 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Усовершенствованный код. Можно указывать несколько номеров заказов для удаления.
[vba]
Код
Sub Macros()
Dim zakaz, i As Long, j As Long
zakaz = Split(InputBox("Укажите № удаляемого заказа" & Chr(10) _
& "или несколько № через запятую" & Chr(10) _
& "Пример: 1 или 2,3,4", "Удаление заказа"), ",")
For j = 0 To UBound(zakaz)
      For i = Range("E" & Rows.Count).End(xlUp).Row To 1 Step -1
          If Range("E" & i) = "№" & zakaz(j) Then Rows(i).Resize(4).Delete Shift
      Next i
Next j
End Sub
[/vba]
К сообщению приложен файл: 5062492_new1.xls (35.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Среда, 16.04.2014, 00:21
 
Ответить
СообщениеУсовершенствованный код. Можно указывать несколько номеров заказов для удаления.
[vba]
Код
Sub Macros()
Dim zakaz, i As Long, j As Long
zakaz = Split(InputBox("Укажите № удаляемого заказа" & Chr(10) _
& "или несколько № через запятую" & Chr(10) _
& "Пример: 1 или 2,3,4", "Удаление заказа"), ",")
For j = 0 To UBound(zakaz)
      For i = Range("E" & Rows.Count).End(xlUp).Row To 1 Step -1
          If Range("E" & i) = "№" & zakaz(j) Then Rows(i).Resize(4).Delete Shift
      Next i
Next j
End Sub
[/vba]

Автор - AlexM
Дата добавления - 16.04.2014 в 00:20
dx84 Дата: Среда, 16.04.2014, 00:37 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: -8 ±
Замечаний: 80% ±

Excel 2010
AlexM, Все классно спасибо hands ! На последок маленький вопрос для далекого в этом деле, не могли бы вы расписать по какому условию работает ваш хитрый код тойсть как это у меня файл пример а в действующем файле столбцы будут смещены и строк будет больше куда что прописывать :'(
 
Ответить
СообщениеAlexM, Все классно спасибо hands ! На последок маленький вопрос для далекого в этом деле, не могли бы вы расписать по какому условию работает ваш хитрый код тойсть как это у меня файл пример а в действующем файле столбцы будут смещены и строк будет больше куда что прописывать :'(

Автор - dx84
Дата добавления - 16.04.2014 в 00:37
AlexM Дата: Среда, 16.04.2014, 00:45 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
[vba]
Код
Range("E" & Rows.Count).End(xlUp).Row
[/vba]так определяют последнюю заполненную ячейку в столбце Е с учетом пустых.
Цикл делаем от последней строки к первой. Проверяем ячейки на номер. Если совпадает, то удаляем 4 строки, начиная со строки с индексом i
Цикл с j перебирает введенные номера в InputBox



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение[vba]
Код
Range("E" & Rows.Count).End(xlUp).Row
[/vba]так определяют последнюю заполненную ячейку в столбце Е с учетом пустых.
Цикл делаем от последней строки к первой. Проверяем ячейки на номер. Если совпадает, то удаляем 4 строки, начиная со строки с индексом i
Цикл с j перебирает введенные номера в InputBox

Автор - AlexM
Дата добавления - 16.04.2014 в 00:45
dx84 Дата: Среда, 16.04.2014, 01:05 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: -8 ±
Замечаний: 80% ±

Excel 2010
AlexM, Все ясно Спасибо за помощь!
 
Ответить
СообщениеAlexM, Все ясно Спасибо за помощь!

Автор - dx84
Дата добавления - 16.04.2014 в 01:05
  • Страница 1 из 1
  • 1
Поиск:

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