Trick # 84

În loc să alocați un macro fiecărui buton, uneori este mai convenabil să creați o macrocomandă care să controleze toate butoanele.

Cei mai mulți utilizatori rula macro-uri, sau prin apăsarea unei combinații de taste sau făcând clic pe un singur buton, în loc să caute macro dreapta în meniuri și dialoguri. Cea mai faimosă modalitate de a ajunge la buton este bara de instrumente Formate, pe care o puteți deschide selectând Vizualizare → Bare de instrumente → Formulare. Aceste butoane, în opinia noastră, sunt cea mai bună alegere dintre opțiunile de macro-uri rula, în special macro-uri înregistrate, deoarece aceste macro-uri de multe ori impun ca, la momentul executării a fost foaia de lucru activă specifică.







Pur și simplu, macro-urile înregistrate utilizează întotdeauna ActiveSheet dacă ați înregistrat o macrocomandă fără a comuta între foi. Acest lucru înseamnă că, în cazul în care utilizatorul nu este la pagina dorită (cu alte cuvinte, nu pe aceeași pagină, pe care ați înregistrat macro), macro înregistrat este cel mai adesea o eroare și se oprește sau se modifică datele de pe foaia greșită. Datorită butonul de pe foaia de lucru, puteți forța utilizatorul să ajungă la un anumit buton de pe foaia de lucru dorită pentru a configura condițiile potrivite pentru executarea unui macro înainte de a rula aceasta.

De ce butonul din bara de instrumente Formulare, și nu din caseta de instrumente de control? Butoanele sunt aproape întotdeauna folosite pentru a recunoaște clicul unui mouse și apoi a lansa o macrocomandă specifică. Butonul de comandă de pe caseta de instrumente de control trebuie utilizat numai dacă doriți să recunoașteți alte evenimente, de exemplu prin dublu clic, clic dreapta, etc. Comenzile din acest panou sunt cunoscute sub numele de controale ActiveX și se utilizează numai pentru a rula macro-ul adaugă Excel o sarcină complet inutilă, mai ales dacă butoanele sunt multe. Acest lucru este asemănător cu ciocanirea cu un ciocan.







În cazul în care registrul de lucru o mulțime de butoane și fiecare buton poate fi folosit pentru a rula un anumit macro, aveți posibilitatea să atașați macro-uri la butoane, faceți clic dreapta pe butonul de frontieră și faceți clic din meniul contextual selectați Alocați Macro (Macro Atribuire). Apoi, în caseta de dialog Atribuire macro, selectați macro-ul corespunzător (a se vedea figura 7.2).

Trick # 84

Fig. 7.2. Butonul evidențiat showcal și caseta de dialog pentru atribuirea unei macrocomenzi obiectului cu macro-ul selectat

Fiecare buton, de obicei, pornește propriul macro, adesea trebuie să parcurgi o listă completă de macro-uri pentru a găsi ceea ce ai nevoie. Există o modalitate ușoară de a atribui toate butoanele unei macrocomenzi, dar în același timp, fiecare buton să lanseze propriul macro.

// Listing 7.6 Sub CareButton () Run Application.Caller End Sub

Acum trebuie să atribuiți fiecărui buton același nume ca macro-ul pe care ar trebui să-l execute. Pentru a da un nume butonului din bara de instrumente Forme, faceți clic pe el și înlocuiți numele în câmpul cu numele cu numele macro-ului pe care îl va lansa acest buton. Faceți acest lucru pentru toate butoanele. Acum, dacă apelați butonul Macro1 și îl atribuiți macrocomenzii WhichButton, făcând clic pe acest buton va lansa Macro1.







Articole similare

Trimiteți-le prietenilor: