Фильтр по ячейке(условию)
airwaves18244
Дата: Пятница, 28.12.2012, 13:29 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Добрый день! Всех с наступающим! Подскажите как лучше решить задачу - необходимо в столбцы М и N вставить значения столбцов A и B удовлетворяющие условию E<=L1 и F>=L1. Т.е отфильтровать таблицу по ячейке с условием и скопировать результаты в другие столбцы. Спасибо за помощь!
Добрый день! Всех с наступающим! Подскажите как лучше решить задачу - необходимо в столбцы М и N вставить значения столбцов A и B удовлетворяющие условию E<=L1 и F>=L1. Т.е отфильтровать таблицу по ячейке с условием и скопировать результаты в другие столбцы. Спасибо за помощь! airwaves18244
К сообщению приложен файл:
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
Сообщение отредактировал Michael_S - Пятница, 28.12.2012, 13:35
Ответить
Сообщение У вас нет ни одной строчки, удовлетворяющий этим условиям. Решение нужно макросом или с помощью формул? Автор - Michael_S Дата добавления - 28.12.2012 в 13:34
airwaves18244
Дата: Пятница, 28.12.2012, 13:37 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Michael_S, это лишь часть таблицы, т.е значениe L1 будет меняться. Думаю макрос либо сводная таблица+макрос. P.s сорри, поправил знаки в условии (E<=L1<=F), но это не принципиально
Michael_S, это лишь часть таблицы, т.е значениe L1 будет меняться. Думаю макрос либо сводная таблица+макрос. P.s сорри, поправил знаки в условии (E<=L1<=F), но это не принципиально airwaves18244
Сообщение отредактировал 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
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]
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
Сообщение отредактировал 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
Ответить
Сообщение Так вам что, эти значения нужны в тех же строках? Цитата (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
Ну с НДС и мы чего-то ст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
KuklP, спасибо.не знал как завязать автофильтр с ячейкой.
KuklP, спасибо.не знал как завязать автофильтр с ячейкой. airwaves18244
Ответить
Сообщение KuklP, спасибо.не знал как завязать автофильтр с ячейкой. Автор - airwaves18244 Дата добавления - 28.12.2012 в 14:38
airwaves18244
Дата: Пятница, 28.12.2012, 14:46 |
Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
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
Ответить
Сообщение 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
Да. Это значит только видимые(отобранные фильтром) значения.
Да. Это значит только видимые(отобранные фильтром) значения. KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Да. Это значит только видимые(отобранные фильтром) значения. Автор - KuklP Дата добавления - 28.12.2012 в 14:47