komar
unread,Feb 12, 2014, 7:15:11 AM2/12/14You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
Mam dziwny problem z autofiltrem w Excelu 2003. Otóż mam tablice
zawierająca ciągi tekstowe /np. x=Array("AAA", "BBB")/.
Chcę zapisać do zmiennej zakres komórek w arkuszu Excela spełniający
warunki podane w autofiltrze (na górze zakresu są komórki z tytułami
kolumn, a na dole zakresu jedna kolumna jest sumowana, dlatego
filtrowany zakres jest pomniejszany o te 2 wiesze) - podam fragment
kodu, to będzie lepiej widać o co mi chodzi:
.Range("A4").AutoFilter Field:=15, Criteria1:=1
.Range("A4").AutoFilter Field:=10, Criteria1:=x(1)
Set rng =
.AutoFilter.Range.Offset(1,0).Resize(.AutoFilter.Range.Rows.Count
2).SpecialCells(xlCellTypeVisible)
Załóżmy, że w wyfiltrowanym zakresie nie ma w kolumnie 10 komórek z
wartością "AAA". Mimo to polecenie rng.Rows.Count podaje wynik..... 1 !
Czemu??? Jak zmienić kod aby podawał poprawną wartość?
Dodam, że kiedy ustawienie tego filtra zmienię na:
.Range("A4").AutoFilter Field:=10, Criteria1:="AAA"
to wtedy wszystko jest ok - polecenie rng.Rows.Count podaje wynik 'Empty'
Stąd moje pytanie - jak podać do autofiltra jako kryteria dane z tablicy
zawierającej ciągi tekstowe, aby zwracana była poprawna ilość wierszy w
wybranym zakresie, spełniającym zapytanie autofiltra?
komar