< návrat zpět

MS Excel


Téma: VBA Filtr dat rss

Zaslal/a 17.5.2020 9:57

Dobrý den,
chtěl bych vás poprosit o pomoc s nastavením filtru ve VBA. Z přiloženého souboru potřebuju vyfiltrovat a zkopírovat řádky vybranými údaji do jiného souboru. Aktuálně mám postavené makro tak, že jede řádek po řádku a pokud podmínky odpovídají, tak řádek zkopíruje. Nicméně makro takto trvá 5-8min.
Napadlo mě využití filtru a následně zkpírování celého rozsahu ale netuším jak filtr nastavit:(
Ze zdrojového souboru potřebuju vyfiltrovat datum 14.,15. a 28.5. a všechny týmy mimo ty, které mají v názvu Distribuce.
V makru budou týmy fixně nastavené (vše mimo Distribuce), datum bude proměnná - report je generovaný denně a vždy budu potřebovat první dvě nejdřívější data + poslední datum.
Když jsem zkusil makro nahrát, tak u týmů bych musel vypsat jeden tým po druhém, což moc nechci z důvodu budoucích možných změn v počtu/názvech týmů a mohlo by se na následnou úpravu makra zapomenout.
Je možnost přes makro ve filtru nastavit, ať vybere vše mimo vybrané týmy + jen 3 konkrétní data a ostatní bude ignorovat?
Nebýt obrovské velikosti souborů, řešil bych přes PQ ale denně se vygeneruje kolem 3Otis řádků a report, pro který data připravuju, bude muset fungovat ideálně v pololetních intervalech a co jsem zkoušel, byla by velikost už ne moc akceptovatelná a stejně tak případná doba aktualizace reportu. Proto řeším tímto kopírováním jen potřebných dat a s ním následně dál pracuju.

Moc děkuji za případnou pomoc a ukázku kódu nastavení filtru nebo odkaz někam, kde už to bylo řešeno. Mi se najít nic nepovedlo 7

Soubor se mi neukládá (kvůli velikosti?). Tak přikládám odkaz. Heslo pro otevření je "WallDotaz"
https://uloz.to/file/ZJkrbnOoNpqg/zdrojovy-soubor-zip

Zaslat odpověď >

#046632
MePExG
Pomocou PQ načítajte údaje do kt (bez filtrácie, prípadne iba dopočítajte stĺpec "aktuálny výber" [neviem ako potrebujete filtrovať 14. 15. a 28.] s uvedeným textom) a pre kt buď vyneste time slicer (iba pre súvislé oblasti), kam zadáte stĺpec dátum; alebo vyneste dátum do kt a súhrny nastavte aj na deň/dátum a vygenerované stĺpce odstránte z kt a deň použite ako filter resp. slicer. Prípadne filter dopočítavaného stĺpca, kde vyberiete "aktuálny výber" a tým bude kt (po aktualizácii) vždy ukazovať iba aktuálny výber, bez potreby zásahu obsluhy.citovat
#046633
avatar
mepexg, děkuji za tip. Přes PQ jsem to v jedné z prvotních variant zkoušel. Ale opravdu jsem se pak dostával na hodně veliké zdrojová data a tím, že výsledný report pracuje s dalšími cca 8 zdroji, které jsou taky relativně velké, tak bych chtěl vyzkoušet i vyfiltrování a doplnění jen potřebných dat do samostatného souboru (data do něj jsou denně přidávána) a s tím pak dál pracovat v PQ a Pivotu. Předběžně se tak velikost sníží na 1/3 a po pár měsících tak budu načítat "jen" cca 30MB místo necelých 100MB. Popřípadě jsem bojoval s dobou načítání a aktualizace dat kvůli narůstajícímu počtu souborů a když načítám data z 1 většího souboru je to u mě rychlejší, než třeba z 30.citovat
#046638
elninoslov
Vy máte teda denne nejaký jeden export z nejakého SW do XLSX súboru s asi 30K riadkami ?

Tento súbor je vždy jeden a ten istý, alebo je to každý deň nový súbor ? (ak nový, čím sa odlišuje v názve ?)

Z tohoto súboru/súborov potrebujete na dennej báze vybrať 2 najnižšie dátumy a 1 najvyšší dátum z každého súboru samostatne, a tieto data (okrem riadkov Distribuce) skopírovať do nejakého súhrnného súboru, ktorý sa bude raz za polrok vyhodnocovať ?

Ak bude každý deň 1 súbor s 30K riadkami takže polročne to bude +- 5M riadkov? To by malo PQ dať do pár sekúnd.

Ak sa jedná o variant denného vyextrahovania iba tých 3 dátumov a odloženia do súhrnného súboru, tak to cez pole musí byť otázka sekúnd (s vytvorením parametru pre filter, alebo rovno vydolovanie poľa nieje prob.), nie minút (asi to robíte po bunkách s Copy/Paste).

Dovysvetlite, prípadne najlepšie uveďte na tomto konkrétnom súbore, čo bude výsledok.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