Microsoft Office Excel |
|
|
Kontrola kretanja korisnika po radnom listuNivo:
Pomoću VBA metode možete sprečiti korisnika Excel aplikacije da "divlja" po radnom listu. Kako ograničiti kretanje korisnikaVeličina radnog lista u Excelu je, u većini slučajeva, prevelika za organizaciju tabele. Ponekad se novopečenim korisnicima dogodi da se "izgube" u tolikom prostoru. Na primer, dovoljno je da korisnik nehotice drži pritisnut taster PAGE DOWN i da se pred njim nađe naizgled prazna tabela. Jedan od intuitivnih načina da sprečite ovakvu pojavu je moguće primeniti ako ste sigurni da će sadržaj uvek ostati u fiksnom prostoru - sakrijte ostatak radnog lista. Na primer, ako je zauzeti prostor u bloku A1:G30, sakrijte redove od 31 do 65536 (ili do 16386 u Excelu 5/95) i kolone od H do IV. Mala digresija: operacija označavanja redova je odličan primer da je tastatura nekad brža od miša. Umesto da označite prvi red, pa vučete mišem do dna lista, postupite drugačije. Postavite se u neku ćeliju u 31. redu i pritisnite SHIFT+SPACEBAR, čime označavate prvi red. Držeći pritisnut taster SHIFT, pritisnite taster END, a potom strelicu DOWN i svi prazni redovi će biti označeni. Sad sakrijte označeno područje (meni Format/Row/Hide ili meni prečica na zaglavlju redova). Slično postupite i za kolone, s tim što je prečica na tastaturi kojom označavate kolonu CTRL+SPACEBAR. Vratimo se na prethodnu priču: ovo rešenje je u opštem slučaju dobro, ali može da izazove drugi problem. Naime, ako korisnik pritisne PAGE DOWN u trenutku kad je aktivna ćelija u blizini donje ivice vidljivog dela lista, pred njim će se pojaviti prazan prostor, što može da izazove još veću zabunu nego da vidi prazne ćelije. Očigledno, problem još uvek nije precizno rešen. Pravo rešenje se krije u tzv. trap procedurama u VBA. To su procedure koje prepoznaju promenu nekog određenog stanja u programu i pri tome aktiviraju korisnički definisan makro. Pravilo je da se trap procedura postavlja u makro Auto_Open, a da se njeno dejstvo eksplicitno poništava u makrou Auto_Close. Za "zarobljavanje" tastera PAGE DOWN upotrebićemo metodu OnKey, kao u prvom primeru u prilogu. Kada postavite ova tri makroa u radnu svesku i nakon njenog otvaranja, PAGE DOWN će pomerati aktivnu ćeliju samo jedan red niže, i to samo do kraja vidljivog dela radnog lista, nakon čega će pritisak na taster biti ignorisan. Rešenje se može uopštiti, tako da se ovakvo ponašanje tastera PAGE DOWN ograniči samo na radnu svesku u kojoj želimo ograničenje. Drugi primer u prilogu predstavlja takvo, generalno rešenje. Pogledajte na koji način se trap procedure uklapaju u celinu. Upotrebljena je trap procedura OnSheetActivate, koja proverava promenu radnog lista. Ona proziva makro koji ispituje da li se aktivirani list nalazi u matičnoj radnoj svesci, i u zavisnosti od toga postavlja ili uklanja ograničenje na PAGE DOWN. Naravno, može se ići i u veće detalje: sledeći nivo logičke kontrole bi mogao ograničiti ovo dejstvo samo na radne listove u kojima se tačno zahteva takva mogućnost. Uopšte, ako koristite trap procedure, važno je da znate da je njihov domen nakon aktiviranja ceo program, i stoga programiranjem morate predvideti sve moguće negativne posledice. PRIMER 1
' Podešavanje ponašanja tastera PAGE DOWN PRIMER 2' Podešavanje ponašanja tastera PAGE DOWN
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2009; Valinor Design; sva prava pridržana. |