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

Вход

Регистрация

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

 

= Мир MS Excel/Фильтр по ячейке(условию) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Фильтр по ячейке(условию)
airwaves18244 Дата: Пятница, 28.12.2012, 13:29 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 20% ±

Добрый день! Всех с наступающим!

Подскажите как лучше решить задачу - необходимо в столбцы М и N вставить значения столбцов A и B удовлетворяющие условию E<=L1 и F>=L1.

Т.е отфильтровать таблицу по ячейке с условием и скопировать результаты в другие столбцы.

Спасибо за помощь!
К сообщению приложен файл: 50.xls (27.0 Kb)


Сообщение отредактировал airwaves18244 - Пятница, 28.12.2012, 13:38
 
Ответить
СообщениеДобрый день! Всех с наступающим!

Подскажите как лучше решить задачу - необходимо в столбцы М и N вставить значения столбцов A и B удовлетворяющие условию E<=L1 и F>=L1.

Т.е отфильтровать таблицу по ячейке с условием и скопировать результаты в другие столбцы.

Спасибо за помощь!

Автор - airwaves18244
Дата добавления - 28.12.2012 в 13:29
Michael_S Дата: Пятница, 28.12.2012, 13:34 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
У вас нет ни одной строчки, удовлетворяющий этим условиям.

Решение нужно макросом или с помощью формул?


Сообщение отредактировал Michael_S - Пятница, 28.12.2012, 13:35
 
Ответить
СообщениеУ вас нет ни одной строчки, удовлетворяющий этим условиям.

Решение нужно макросом или с помощью формул?

Автор - Michael_S
Дата добавления - 28.12.2012 в 13:34
airwaves18244 Дата: Пятница, 28.12.2012, 13:37 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 20% ±

Michael_S, это лишь часть таблицы, т.е значениe L1 будет меняться.

Думаю макрос либо сводная таблица+макрос.

P.s сорри, поправил знаки в условии (E<=L1<=F), но это не принципиально


Сообщение отредактировал airwaves18244 - Пятница, 28.12.2012, 13:39
 
Ответить
СообщениеMichael_S, это лишь часть таблицы, т.е значениe L1 будет меняться.

Думаю макрос либо сводная таблица+макрос.

P.s сорри, поправил знаки в условии (E<=L1<=F), но это не принципиально

Автор - airwaves18244
Дата добавления - 28.12.2012 в 13:37
airwaves18244 Дата: Пятница, 28.12.2012, 13:59 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 20% ±

Michael_S, Набросал макрос для копирования. Для фильтрации нет. Но думаю можно изящнее написать?

[vba]
Код
Sub filter()
Dim C
C = Cells(1, 12)
     For i = 2 To 1000
     If C >= Cells(i, 5) And C <= Cells(i, 6) Then
     Range(Cells(i, 1), Cells(i, 2)).Copy
     Cells(i, 13).Select
     ActiveSheet.Paste
     End If
     Next
    End Sub
[/vba]


Сообщение отредактировал airwaves18244 - Пятница, 28.12.2012, 14:24
 
Ответить
СообщениеMichael_S, Набросал макрос для копирования. Для фильтрации нет. Но думаю можно изящнее написать?

[vba]
Код
Sub filter()
Dim C
C = Cells(1, 12)
     For i = 2 To 1000
     If C >= Cells(i, 5) And C <= Cells(i, 6) Then
     Range(Cells(i, 1), Cells(i, 2)).Copy
     Cells(i, 13).Select
     ActiveSheet.Paste
     End If
     Next
    End Sub
[/vba]

Автор - airwaves18244
Дата добавления - 28.12.2012 в 13:59
Michael_S Дата: Пятница, 28.12.2012, 14:25 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Так вам что, эти значения нужны в тех же строках?

Цитата (airwaves18244)
Но думаю можно изящнее написать?

Вот это
[vba]
Код
Range(Cells(i, 1), Cells(i, 2)).Copy  
    Cells(i, 13).Select  
    ActiveSheet.Paste
[/vba]
можно сократить до

[vba]
Код
Range(Cells(i, 1), Cells(i, 2)).Copy Cells(i, 13)
[/vba]
и, если строк много в начале Application.ScreenUpdating = False, в конце Application.ScreenUpdating = True
 
Ответить
СообщениеТак вам что, эти значения нужны в тех же строках?

Цитата (airwaves18244)
Но думаю можно изящнее написать?

Вот это
[vba]
Код
Range(Cells(i, 1), Cells(i, 2)).Copy  
    Cells(i, 13).Select  
    ActiveSheet.Paste
[/vba]
можно сократить до

[vba]
Код
Range(Cells(i, 1), Cells(i, 2)).Copy Cells(i, 13)
[/vba]
и, если строк много в начале Application.ScreenUpdating = False, в конце Application.ScreenUpdating = True

Автор - Michael_S
Дата добавления - 28.12.2012 в 14:25
KuklP Дата: Пятница, 28.12.2012, 14:30 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Изящней и быстрей будет на простом автофильтре. Пример кода выкладывал здесь:
http://www.planetaexcel.ru/forum....TID=205

P.S. И я бы не использовал зарезервированные слова Экса в названиях макросов, переменных.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеИзящней и быстрей будет на простом автофильтре. Пример кода выкладывал здесь:
http://www.planetaexcel.ru/forum....TID=205

P.S. И я бы не использовал зарезервированные слова Экса в названиях макросов, переменных.

Автор - KuklP
Дата добавления - 28.12.2012 в 14:30
airwaves18244 Дата: Пятница, 28.12.2012, 14:38 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 20% ±

KuklP, спасибо.не знал как завязать автофильтр с ячейкой.
 
Ответить
СообщениеKuklP, спасибо.не знал как завязать автофильтр с ячейкой.

Автор - airwaves18244
Дата добавления - 28.12.2012 в 14:38
airwaves18244 Дата: Пятница, 28.12.2012, 14:46 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 20% ±

KuklP, а можете пояснить для строки значение 12?
.Offset(1).Columns(2).SpecialCells(12).Copy Sheets("Лист2").[b5]
 
Ответить
СообщениеKuklP, а можете пояснить для строки значение 12?
.Offset(1).Columns(2).SpecialCells(12).Copy Sheets("Лист2").[b5]

Автор - airwaves18244
Дата добавления - 28.12.2012 в 14:46
KuklP Дата: Пятница, 28.12.2012, 14:47 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Да. Это значит только видимые(отобранные фильтром) значения.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеДа. Это значит только видимые(отобранные фильтром) значения.

Автор - KuklP
Дата добавления - 28.12.2012 в 14:47
  • Страница 1 из 1
  • 1
Поиск:

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