< návrat zpět

MS Excel


Téma: automatický filtr rss

Zaslal/a 28.6.2010 9:11

Ahoj,
potřeboval bych poradit. Mám kod něco jako automatický filtr, který provede filtr položek dle obsahu aktuální buňky. Je to přes tlačítko, které funguje jako přepínač, takže pokud je filtr aktivní, provede jeho ukončení. Vše funguje dobře pouze na text. Pokud je v aktuálním políčku číslo, tak filtr nezobrazí žádný řádek, jako by měl filtrovat prázdné buňky. Našel jsme zde téma, kde se to částečně řešilo, ale nedořešilo. Může někdo pomoc.
Sub AutoFiltr_Click()
Dim Text, vyber As String

If FilterMode = True Then
Selection.AutoFilter Field:=1
GoTo a
End If

Text = ActiveCell
If Text = "" Then Exit Sub
vyber = "=*" & Text & "*"
Selection.AutoFilter Field:=1, Criteria1:=vyber

a:
Range("A5").End(xlDown).Activate
ActiveCell.Offset(1, 0).Select

End Sub

Zaslat odpověď >

#001870
Jeza.m
Ahoj,

podle mě, pokud máš v buňce regulerní číslo a pak ho načteš do proměnné Text, která je definovaná jako string, tak to bude brát jako text, dále když filtr nastavíš na *Text*, tak to opět bude hledat jen text.
Asi bych to řešil ověřením je-li hodnota číslo (Isnumeric) a podle toho bych pak nastavil filtr:
buď
- je-li číslo, tak dle proměnné která bude třeba Cislo as Single - bez hvězdiček.
jinak
- je text, tak dle proměnné text klidně s hvěudičkama :-).

M@citovat
#001871
avatar
Díky, to je onocitovat
#001877
avatar
Vyskytl se ještě jeden problém. Na celá čísla to funguje perfekt. Pokud mám buňku formátovanou na dvě desetinná místa a hodnota je např. 6,00, tak filtr nezobrazí nic, resp. zobrazí buňky kde je číslo 6 s formátem bez desetinných míst.
Sub CommandButton1_Click()
Dim cislo As Single
cislo = ActiveCell
Selection.AutoFilter Field:=1, Criteria1:=cislo
End Sub
citovat
icon #001878
Poki
Mozna by pomohlo preformatovat pomoci funkce FORMAT(cislo, General), kde General je format, ktery ma bunka mit.
Zjistit, jaky format ma konkretni bunka lze takto: Activecell.NumberFormatcitovat
#001879
avatar
Formát má bunka "0.00". Nevím jak to myslíš s tím přeformátováním? To jako sloupec, který filtruju?citovat
icon #001880
Poki
MOzna jsem spravne nepochopil, v cem je problem. Myslel jsem, ze se ti nevyfiltruji vsechna data, jen ta, ktera maji stejny format, jako ta bunka, podle ktere hledas. Potom by slo pro ucel filtru preformatovat hodnotu te bunky...citovat
#001881
avatar
přikládám soubor, z kterého to bude jasné.
Pokud stojím na bunce ve sloupci a stisknu tlačítko, dojde ke špatnému filtrování,
Příloha: zip1881_filtr.zip (9kB, staženo 32x)
citovat
#001893
avatar
Opravdu nikdo nezná řešení? 3 Nebo alespoň jak to obejít?citovat
#001899
Jeza.m
Tak jsem to zkoušel všemožně a ikdyž jsem mu do toho pole dal přesně to co se tam dá vybrat, tak při spuštění filtru makrem to nefungovalo, když jsem pak dal filtr -> vlastní a nechal mu tam hodnotu tak jak ji tam zapsalo makro a dal jsem OK, tak se to vyfiltrovalo, takže to nejede jen při spuštění makrem, z čehož jsem tak trochu jelen :-/.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje