Filter

8 отговора 342 прегледа
#1

Filter

Zdraveyte pak az :-( pak vypros
Pls kajete kak da nakaram za kriterii na FILTER-a da se polzvat danni ot kletka A1 naprimer
Probvam tova:
Rows("9:9").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:=Range("A2")
No ne stava, ako ima znachenie dannite koytofiltriram sa dati

Thanks

Отговор
в отговор на teoiva #2

Re: Filter

Мисля, че в случая трябва да се използва Advandced Filter вместо Auto Filter

Например в колона А са въведени дати. Важно при Advandced Filter са заглавията на колоните.


A1 Дата
A2 10.05.2005
A3
A4 Дата
A5 10.05.2005
A6 15.05.2005
A7 20.05.2005

В клетка А4 се намира заглавието на колоната, а от А5 надолу – данните. Това е списъка (List Range), който искаме да филтрираме.
А1:А2 – регион на критерия (Criteria range). В А1 е заглавието, А2 - самият критерий.

Регионът на критерия трябва да включва поне два реда, като първият е заглавието. Заглавията в региона на критерия трябва да съвпадат със заглавията в списъка. Най-удобно е критерия да се постави над списъка.
Не е необходимо регионът на критерия да включва всички заглавия на колони, включват се само тези, които искаме да филтрираме. В случая ще филтрираме по колона със заглавие „Дата”.

Range("A4:A7").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("A1:A2"), Unique:=False


Може да се направи и за период между две дати. Ето така:


A1 Дата
A2 >=10.05.2005
A3
A4 Дата
A5 10.05.2005
A6 15.05.2005
A7 20.05.2005

B1 Дата
B2 <=15.05.2005

Range("A4:A7").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("A1:B2"), Unique:=False

Отговор
в отговор на pitanka #3

Re: Filter

Mnogo blagodarya!
Np pak ne se poluchava :-(
Nishto ne filtrira :-((

Отговор
в отговор на Teoiva #4

Re: Filter

а ти какво искаш да направиш? В смисъл каква е крайната цел на упражнението

Шум в офиса? Слушайте Paul van Dyk
Отговор
в отговор на f(x)dx #5

Re: Filter

Tzelta na zanimanieto e slednata :-)
V kolona A3:A100 ima dati koyto iskam da filtriram kato kriteriya na filtera da e kletka A1, kydeto se namira rezultat ot formula pak data

Poneje predpolagam, che shte pitate probvah da smenyam formatite na tzyalata kolona i pak ne stava :-(

Отговор
в отговор на Teoiva #6

Re: Filter

Ще се опитам да го обясня простичко, въпреки че ще повторя малко pitanka:
Клетката критерий (А1) я местиш най отдолу на таблицата (например на ред 105, т.е. с адрес А105) Слагаш на базата ти данни (А3:А100) отгоре едно заглавие в клетка А2 (да кажем "Dates"). Абсолютно същото заглавие слагаш и над клетката критерий (в случая в А104) и след това използваш Advanced Filter като в полето List range посочваш А2:А100, а в полето Criteria range посочваш А104:А105, и след това избираш дали да сортира на място или на друг шийт например.
Тук трябва да отбележа че всъщност може съдържанието на А1 да не го местиш а просто в полето критерий (А105) да посочиш формула =А1, но това може да ти е полезно само ако търсиш дати равни на тази в А1. Ако искаш да ползваш критерий < или > трябва стойността в полето за критерий да е абсолютна, а не формула.

And the suiting light at the end of the tunnel is just a freight train coming your way...

Редактирано от Пoeтa нa нeтa на

Отговор
в отговор на Пoeтa нa нeтa #7

Re: Filter

Много добре си обяснил използването на Advandced Filter.
Аз се опитах да го обясня принципно. И тъй като видях, че има поставен код
предположих, че се използва бутон VB, който да филтрира за това и аз така
го направих. Пробвала съм го работи, защото съм си направила доста в моите
таблици.

А защо казваш, че критерия трябва да е абсолютна стойност, а не формула?
Аз направих така:
В кл. А105 (използвам твоя пример) следната формула
=">="&A106
където в кл. A106 се въвежда датата.
Така работи.

Отговор
в отговор на Пoeтa нa нeтa #8

Re: за Advanced Filter

при Advanced Filter се използват два вида критерия: Сравнителен и Изчислителен. При сравнителните критерии, т.е. критерии по точна стойност се използват операторите за сравнение: >, <. и т.н плюс константа (текст, число). На първия ред от областта за критерий, името трябва да съвпада с име на колона от списъка.
При изчислителните критерии (критерий-формула) се използват адреси, функции и пр. Винаги се започва със знак "=", а на на първия ред в областта на критерий, името не трябва да съвпада с име на колона от списъка. В самия критерий трябва да присъства относителен адрес на клетка от колоната, за която се задава критерия.

По примера, който е даден в първия пост: Адресът на клетка А1, трябва да е абсолютен, тъй като при прилагане на Advanced Filter, искаме всички дати да се сравнят именно с А1. Или критерия ще е: =А4>=$А$1 (ако в А4 е първата дата от списъка. Като ListRange се задава адреса на целия списък, не само на колоната с датите.

Отговор
в отговор на River_ #9

Re: за Advanced Filter

Ey mnogo blagodarya na vsichki vi :-)
Sega se zahvashtam da proumeya kakvoto mi kazvate i shte obadya kakvo e stanalo

Отговор