< návrat zpět

MS Excel


Téma: Automatické filtrování rss

Zaslal/a 17.5.2018 13:44

Zdravím,
potřeboval bych pomoct s automatickým fitrováním dat. Vstupní pole je v buňce A2. Data jsou v poli A3:G6287. Pokud zadám do buňky A2 hodnotu např. 73063080 měli by se zobrazit řádky č. 2296-2300 (7306), 2318-2320 (730630) a 2363 (73063080). Pokud bude buňka prázdná zobrazit všechny data. Filtrovat automaticky po každé změně hodnoty v buňce A2. Díky moc.

Příloha: xlsx40396_obligatorni_popis.xlsx (239kB, staženo 10x)
Zaslat odpověď >

Strana:  1 2   další »
#040399
elninoslov
Nejaký ten príklad:
-"čísla" list kde sú filtrované hodnoty číslo - filtrované makrom
-"čísla vzorec" list kde sú filtrované hodnoty číslo - filtrované vzorcom z prvého listu (treba myslieť na rozsahy)
-"text" list kde sú filtrované hodnoty text (možnosť voľby zľava, alebo celok) - filtrované makromcitovat
#040400
avatar
For elninoslov:
1. Příklad nefunguje podle zadání, potřeboval bych tam i řádky s "nadřazenými" čísly (u příkladu 7306+730630+73063080).
2. Šlo by to udělat, aby se data filtrovaly už při psaní hodnot do buňky a ne až při opuštění buňky?
3. Karta text bude asi zbytečná

Díkycitovat
#040402
elninoslov
1. na to presne som tam urobil ten list "text". Zaškrtnite to políčko "Zleva" a dajte znovu vyhľadať 7306. Ale hodnoty v stĺpci A musia byť ako TEXT, nie ako Číslo alebo Všeobecné.
2. To nieje v Excel bunke možné. Jedine cez malý TextBox, viď nový príklad (opäť list Text)
3. Nie, viď 1. a 2.

Nový príkladcitovat
#040403
avatar
1. Ne, přečtěte si zadání. Např. při zadání 7306 bude výstup pouze 7306. Při zadání 73063080 bude výstup 7306,730630,73063080 a nic víc. Filtruje to obráceně, nehledá to "rodiče", ale "potomky".
2. OK
3. OKcitovat
#040406
elninoslov
Napadol ma pomocný stĺpec.
Příloha: zip40406_40396_obligatorni_popis.zip (264kB, staženo 13x)
citovat
#040410
avatar
Při otevření souboru vypadá výsledek v pořádku, ale jakmile změním hodnotu v buňce B2 tak už to nic nevyfiltruje. Nevím co kde dělám špatně.citovat
#040411
elninoslov
U mňa to fičí presne podľa požiadaviek. Neviem prečo u Vás nie. Zablokované makrá? Nepovolené ActiveX prvky? Keď zapisujete do bunky (???) B2 ... máte tam vôbec nad ňou cez celú bunku B2 TextBox ? Samozrejme funguje to aj pri zápise do bunky. TextBox je tam na to, aby to robilo hneď po stlačení klávesy. Skúšate to presne na tom súbore, ktorý som poslal ako posledný? Dúfam, že ste to makro nenakopíroval do iného súboru. To nestačí, je tam vzorec v skrytom stĺpci A. Zmente hodnotu v B2, chodte do VBA, a manuálne spustite makro TextBox1_Change(). U mňa všetko funguje (Win10x64+ Office 2016x64 - všetko aktuálne)...
Odkryte si stĺpec A, a pozrite, či hodnoty ktoré majú byť zobrazené majú TRUE/PRAVDA v stĺpci A.citovat
#040416
avatar
Makra mám povolený, ActiveX taky. Přeinstaloval jsem Office na standartní nastavení. Předchozí příklad funguje jak jsem psal, tento ne. Ruční spuštění makra nic nevybere ani jakýkoliv zápis do buňky B2 nebo textboxu (pokud v buňce není hodnota tak se zobrazí vše). Vidím tam oproti předchozímu příkladu jen jeden list "čísla",je to tak dobře?

Win10x64 + Office2016x64
Příloha: jpg40416_screen.jpg (238kB, staženo 12x)
40416_screen.jpg
citovat
#040418
elninoslov
Ak nepočítame Application.ScreenUpdating, tak má makro len 5 riadkov kódu, tak ho odkrokujte.

1. Najskôr odkryte stĺpec A
2. Skontrolujte, či máte povolené automatické počítanie vzorcov.
3. Manuálne úplne zrušte filter A2:H2
4. Zadajte prázdny TextBox
5. Manuálne cez F8 prejdite za riadok
Riadkov = Cells(1, 1).CurrentRegion.Rows.Count
a kurzor myši presuňte nad premennú Riadkov. Napíšte sem hodnotu.
6. Cez F8, prejdite za ďalší riadok, a napíšte hodnotu RiadkovA.
7. Napíšte či prejde kód za Then v riadku s podmienkou
If RiadkovA < Riadkov Then
8. Po prejdení na
If TextBox1.Text = "" Then
skontrolujte či sú vzorce v A od prvého až po posledný záznam. Ak je TextBox prázdny, všetky výsledky v A3:A6287 musia byť TRUE/PRAVDA.
9. Kód nechajte dobehnúť a napíšte ako to dopadlo.
10. Urobte si BrakePoint na prvom riadku kódu
11. Zadajte do TextBoxu číslo 73063080 (naraz kopírovaním, nie písaním). Zopakujte kontroly a rovnako dajte vedieť výsledky krokov 5.-9.

Pozorne čítajte každý krok a každé slovo, a presne napíšte výsledky, ktoré som dotazoval. Inak fakt neviem, môj typ je zakázané prepočítanie vzorcov.

PS: inak v predposlednom riadku treba zmeniť číslo 7 na 8, ale to nemá podstatný vplyv na svoju funkciu rušenia filtra.citovat
#040419
avatar
Zkoušel jsem to ještě na jednom PC se stejným výsledkem.

textbox = ""
5. 6287
6. 6287
8. OK všude PRAVDA
9. zobrazí se všechny záznamy

textbox = "73063080"
5. 6287
6. 6287
8. OK vzorec ve sloupci A vyhodnotil řádky k zobrazení PRAVDA, ostatní NEPRAVDA
9. nezobrazí se niccitovat

Strana:  1 2   další »

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura III

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

Aktivní diskuse

Filter

Anonym • 18.7. 7:06

Filter

Hav-Ran • 18.7. 5:17

Filter

Anonym • 17.7. 23:48

Filter

monier • 17.7. 22:25

načtení z xml

Eddie • 17.7. 21:20

zavření souboru z VBA makra bez uložení

hnizdo.1 • 17.7. 19:13

Tisk makrem na síťovou tiskárnu a formulář

hnizdo.1 • 17.7. 18:37