Zece sfaturi pentru codificarea macro-urilor Excel VBA

Zece sugestii comune pentru a face codarea Excel VBA mai rapidă și mai ușoară. Aceste sfaturi se bazează pe Excel 2010 (dar funcționează în aproape toate versiunile) și multe au fost inspirate din cartea lui O'Reilly "Excel 2010 - Manualul lipsă" de Matthew MacDonald.

1 - Testează-ți întotdeauna macros-urile într-o foaie de calcul pentru teste de tip "ghișeu", de obicei o copie a unuia cu care este proiectat să funcționeze. Anularea nu funcționează cu macro-uri, așa că dacă codați o macro care se pliază, se axează și vă mută foaia de calcul, aveți noroc dacă nu ați urmat acest sfat.

2 - Utilizarea tastelor de comenzi rapide poate fi periculoasă, deoarece Excel nu vă avertizează dacă alegeți o tastă rapidă pe care Excel o folosește deja. Dacă se întâmplă acest lucru, Excel folosește tasta rapidă pentru macro, nu cheia încorporată. Gândește-te cât de surprins va fi șeful tău când îți încarcă macrocomanda și apoi Ctrl-C adaugă un număr aleatoriu la jumătate din celulele din foaia sa de calcul.

Matthew MacDonald face această sugestie în „Excel 2010 - Manualul care lipsește”.

Iată câteva combinații de chei comune pe care nu ar trebui să le atribuiți niciodată comenzilor rapide pentru macrocomenzi, deoarece oamenii le folosesc prea des:

  • Ctrl + S (Salvare)
  • Ctrl + P (Tipărire)
  • Ctrl + O (Deschis)
  • Ctrl + N (nou)
  • Ctrl + X (Ieșire)
  • Ctrl + Z (Anulare)
  • Ctrl + Y (Redirecționare / repetare)
  • Ctrl + C (Copiere)
  • Ctrl + X (tăiat)
  • Ctrl + V (Lipire)

Pentru a evita probleme, utilizați întotdeauna combinațiile de taste macro Ctrl + Shift + letter, deoarece aceste combinații sunt mult mai puțin obișnuite decât tastele rapide Ctrl +. Și dacă aveți îndoieli, nu alocați o cheie de comandă rapidă atunci când creați o macrocomandă nouă și ne testată.

3 - Nu vă puteți aminti Alt-F8 (comanda rapidă macro standard)? Numele nu înseamnă nimic pentru tine? Având în vedere că Excel va pune la dispoziția tuturor celorlalte cărți de lucru deschise macro-urile din orice carte de lucru deschisă, calea simplă este să-ți creezi propria bibliotecă macro cu toate macro-urile într-un manual de lucru separat. Deschideți acea carte de lucru împreună cu celelalte foi de calcul. După cum spune Matthew, „Imaginați-vă că editați o carte de lucru numită SalesReport.xlsx și deschideți o altă carte de lucru numită MyMacroCollection.xlsm, care conține câteva macro-uri utile. Puteți utiliza macro-urile conținute în MyMacroCollection.xlsm cu SalesReport.xlsx fără un cârlig ”. Matthew spune că acest design face ușor să partajați și să reutilizați macro-urile în cărțile de lucru (și între diferite persoane).

4 - Și luați în considerare adăugarea de butoane pentru a face legătura cu macro-urile din foaia de lucru care conține biblioteca dvs. macro. Puteți aranja butoanele în orice grupări funcționale care au sens pentru dvs. și puteți adăuga text la foaia de lucru pentru a explica ce fac. Nu vă veți întreba niciodată ce face de fapt o macro-nume numită criptic.

5 - Noua arhitectură de securitate macro a Microsoft a fost îmbunătățită mult, dar este și mai convenabil să spui Excel să aibă încredere în fișierele din anumite foldere de pe computer (sau pe alte computere). Alegeți un folder specific de pe hard disk ca locație de încredere. Dacă deschideți o carte de lucru stocată în această locație, aceasta este automat de încredere.

6 - Când codificați o macrocomandă, nu încercați să integrați selecția de celule în macro. În schimb, presupunem că celulele pe care le va folosi macro-ul au fost preselectate. Este ușor pentru tine să trageți mouse-ul peste celule pentru a le selecta. Codificarea unei macro care este suficient de flexibilă pentru a face același lucru este probabil să fie plină de bug-uri și greu de programat. Dacă doriți să programați ceva, încercați să descoperiți cum se scrie cod de validare pentru a verifica dacă în locația sa a fost făcută o selecție adecvată.

7 - S-ar putea să credeți că Excel rulează o macrocomandă cu registrul de lucru care conține codul macro, dar acest lucru nu este întotdeauna adevărat. Excel rulează macro-ul în caiet de lucru activ. Acesta este cartea de lucru la care te-ai uitat cel mai recent. După cum explică Matthew, „Dacă aveți două cărți de lucru deschise și utilizați bara de activități Windows pentru a comuta la al doilea manual de lucru, apoi înapoi la editorul Visual Basic, Excel rulează macro-ul din al doilea manual de lucru."

8 - Matthew sugerează că, "Pentru o mai ușoară codificare macro, încercați să vă aranjați ferestrele, astfel încât să puteți vedea fereastra Excel și fereastra editorului Visual Basic în același timp, cot la cot." Dar Excel nu o va face ((Aranjați totul din meniul Vizualizare aranjează doar cărțile de lucru. Visual Basic este considerat o fereastră de aplicație diferită de Excel.) Dar Windows o va face. În Vista, închideți toate, cu excepția celor două pe care doriți să le aranjați și faceți clic dreapta pe Bara de activități; selectați „Afișați Windows Side by Side”. În Windows 7, utilizați funcția „Snap”. (Căutați online pentru „Windows 7 funcționează Snap” pentru instrucțiuni.)

9 - Sfatul lui Matthew: „Mulți programatori găsesc plimbări lungi pe plajă sau aruncând un ulcior din Mountain Dew un mod util de a-și curăța capul.”

Și desigur, mama tuturor sfaturilor VBA:

10 - Primul lucru pe care trebuie să îl încercați atunci când nu vă puteți gândi la afirmațiile sau cuvintele cheie de care aveți nevoie în codul programului dvs. este să porniți înregistratorul macro și să faceți o grămadă de operații care par a fi similare. Apoi examinați codul generat. Nu te va îndrepta întotdeauna spre ceea ce trebuie, dar deseori o face. Cel puțin, îți va oferi un loc unde să începi să cauți.

Sursă

MacDonald, Matthew. "Excel 2010: Manualul lipsă." 1 ediție, O'Reilly Media, 4 iulie 2010.