Editor Visual Basic - Cum îl puteți deschide și utiliza în Excel

Primul pas pentru a lucra cu VBA în Excel este să vă familiarizați cu Editorul Visual Basic (numit și VBA Editor sau VB Editor).

În acest tutorial, voi acoperi tot ce trebuie să știți despre Editorul VBA și câteva opțiuni utile pe care ar trebui să le cunoașteți atunci când codificați în Excel VBA.

Ce este Visual Basic Editor în Excel?

Visual Basic Editor este o aplicație separată care face parte din Excel și se deschide ori de câte ori deschideți un registru de lucru Excel. În mod implicit, este ascuns și pentru a-l accesa, trebuie să îl activați.

Editorul VB este locul în care păstrați codul VB.

Există mai multe moduri în care obțineți codul în Editorul VB:

  1. Când înregistrați o macrocomandă, aceasta creează automat un nou modul în editorul VB și introduce codul în acel modul.
  2. Puteți introduce manual codul VB în editorul VB.
  3. Puteți copia un cod dintr-un alt registru de lucru sau de pe internet și îl puteți lipi în Editorul VB.

Deschiderea Editorului VB

Există diferite moduri de a deschide Editorul Visual Basic în Excel:

  1. Utilizarea unei comenzi rapide de la tastatură (cea mai simplă și mai rapidă)
  2. Folosind fila Dezvoltator.
  3. Utilizarea filelor Foaie de lucru.

Să parcurgem rapid fiecare dintre acestea.

Comandă rapidă de la tastatură pentru a deschide Editorul Visual Basic

Cel mai simplu mod de a deschide editorul Visual Basic este de a utiliza comanda rapidă de la tastatură - ALT + F11 (țineți apăsată tasta ALT și apăsați tasta F11).

De îndată ce faceți acest lucru, se va deschide o fereastră separată pentru editorul Visual Basic.

Această comandă rapidă funcționează ca o comutare, astfel încât, atunci când o utilizați din nou, vă va duce înapoi la aplicația Excel (fără a închide editorul VB).

Comanda rapidă pentru versiunea pentru Mac este Opt + F11 sau Fn + Opt + F11

Folosind fila Dezvoltator

Pentru a deschide Editorul Visual Basic din panglică:

  1. Faceți clic pe fila Dezvoltator (dacă nu vedeți o filă pentru dezvoltator, citiți aceasta despre cum să o obțineți).
  2. În grupul Cod, faceți clic pe Visual Basic.

Folosind fila Foaie de lucru

Aceasta este o metodă mai puțin utilizată pentru a deschide Editorul Vb.

Accesați oricare dintre filele foii de lucru, faceți clic dreapta și selectați „Vizualizați codul”.

Această metodă nu ar deschide doar Editorul VB, ci vă va duce și la fereastra de cod pentru acel obiect al foii de lucru.

Acest lucru este util atunci când doriți să scrieți cod care funcționează numai pentru o anumită foaie de lucru. Acesta este de obicei cazul evenimentelor din foaia de lucru.

Anatomia editorului Visual Basic în Excel

Când deschideți editorul VB pentru prima dată, poate părea puțin copleșitor.

Există diferite opțiuni și secțiuni care pot părea complet noi la început.

De asemenea, are încă un aspect vechi Excel de 97 de zile. Deși Excel s-a îmbunătățit enorm în ceea ce privește designul și utilizabilitatea de-a lungul anilor, Editorul VB nu a văzut nicio schimbare în felul în care arată.

În această secțiune, vă voi conduce prin diferitele părți ale aplicației Visual Basic Editor.

Notă: Când am început să folosesc VBA în urmă cu ani, am fost destul de copleșit de toate aceste noi opțiuni și ferestre. Dar pe măsură ce te obișnuiești să lucrezi cu VBA, te vei simți confortabil cu cele mai multe dintre acestea. Și de cele mai multe ori, nu vi se va cere să utilizați toate opțiunile, ci doar o mână plină.

Mai jos este o imagine a diferitelor componente ale Editorului VB. Acestea sunt apoi descrise în detaliu în secțiunile de mai jos ale acestui tutorial.

Acum, să parcurgem rapid fiecare dintre aceste componente și să înțelegem ce face:

Bară de meniu

Aici aveți toate opțiunile pe care le puteți utiliza în Editorul VB. Este similar cu panglica Excel în care aveți file și opțiuni cu fiecare filă.

Puteți explora opțiunile disponibile făcând clic pe fiecare element de meniu.

Veți observa că majoritatea opțiunilor din Editorul VB au comenzi rapide de la tastatură menționate lângă acesta. Odată ce te-ai obișnuit cu câteva comenzi rapide de la tastatură, lucrul cu Editorul VB devine foarte ușor.

Bara de instrumente

În mod implicit, există o bară de instrumente în Editorul VB care are câteva opțiuni utile de care este probabil să aveți nevoie cel mai des. Este la fel ca Bara de instrumente de acces rapid în Excel. Vă oferă acces rapid la unele dintre opțiunile utile.

Puteți să-l personalizați puțin prin eliminarea sau adăugarea de opțiuni (făcând clic pe săgeata mică orientată în jos de la capătul barei de instrumente).

În majoritatea cazurilor, bara de instrumente implicită este tot ce aveți nevoie atunci când lucrați cu VB Editor.

Puteți muta bara de instrumente deasupra barei de meniu făcând clic pe cele trei puncte gri (la începutul barei de instrumente) și glisând-o deasupra barei de meniu.

Notă: Există patru bare de instrumente în Editorul VB - Formular Standard, Depanare, Editare și Utilizator. Ceea ce vedeți în imaginea de mai sus (care este și implicit) este bara de instrumente standard. Puteți accesa alte bare de instrumente accesând opțiunea Vizualizare și deplasând cursorul pe opțiunea Bare de instrumente. Dacă doriți, puteți adăuga una sau mai multe bare de instrumente în Editorul VB.

Project Explorer

Project Explorer este o fereastră din stânga care arată toate obiectele deschise în prezent în Excel.

Când lucrați cu Excel, fiecare registru de lucru sau supliment care este deschis este un proiect. Și fiecare dintre aceste proiecte poate avea o colecție de obiecte.

De exemplu, în imaginea de mai jos, Project Explorer afișează cele două registre de lucru deschise (Book1 și Book2) și obiectele din fiecare registru de lucru (foi de lucru, ThisWorkbook și Module în Book1).

Există o pictogramă plus în stânga obiectelor pe care o puteți utiliza pentru a restrânge lista obiectelor sau pentru a extinde și a vedea lista completă a obiectelor.

Următoarele obiecte pot face parte din Project Explorer:

  1. Toate registrele de lucru deschise - în cadrul fiecărui registru de lucru (care se mai numește și proiect), puteți avea următoarele obiecte:
    • Obiect de foaie de lucru pentru fiecare foaie de lucru din registrul de lucru
    • Obiectul ThisWorkbook care reprezintă caietul de lucru în sine
    • Foaie de diagrame obiect pentru fiecare foaie de diagramă (acestea nu sunt la fel de obișnuite ca foile de lucru)
    • Module - Aici merge codul generat cu un macro recorder. De asemenea, puteți scrie sau copia-lipi codul VBA aici.
  2. Toate programele de completare deschise

Luați în considerare Project Explorer ca un loc care prezintă toate obiectele deschise în Excel la momentul dat.

Comanda rapidă de la tastatură pentru a deschide Project Explorer este Control + R (țineți apăsată tasta de control și apoi apăsați R). Pentru a o închide, faceți clic pe pictograma închidere din partea dreaptă sus a ferestrei Project Explorer.

Notă: Pentru fiecare obiect din Project Explorer, există o fereastră de cod în care puteți scrie codul (sau îl puteți copia și lipi de undeva). Fereastra de cod apare când faceți dublu clic pe obiect.

Fereastra Proprietăți

Fereastra Proprietăți este locul unde puteți vedea proprietățile obiectului selectat. Dacă nu aveți deja fereastra Proprietăți, o puteți obține utilizând comanda rapidă de la tastatură F4 (sau accesați fila Vizualizare și faceți clic pe fereastra Proprietăți).

Fereastra Properties este o fereastră plutitoare pe care o puteți andoca în Editorul VB. În exemplul de mai jos, l-am andocat chiar sub Project Explorer.

Fereastra Properties ne permite să schimbăm proprietățile unui obiect selectat. De exemplu, dacă vreau să fac o foaie de lucru ascunsă (sau foarte ascunsă), o pot face schimbând proprietatea vizibilă a obiectului selectat al foii de lucru.

Legate de: Ascunderea unei foi de lucru în Excel (care nu poate fi ascunsă ușor)

Fereastra Cod

Există o fereastră de cod pentru fiecare obiect listat în Project Explorer. Puteți deschide fereastra de cod pentru un obiect făcând dublu clic pe acesta în zona Project Explorer.

Fereastra de cod este locul unde veți scrie codul sau copiați și lipiți un cod din altă parte.

Când înregistrați o macrocomandă, codul acesteia intră în fereastra de cod a unui modul. Excel introduce automat un modul pentru a plasa codul în el atunci când înregistrează o macro.

Legate de: Cum se execută o macro (cod VBA) în Excel.

Fereastra imediata

Fereastra Imediată este utilizată mai ales la depanarea codului. Un mod în care folosesc fereastra Immediate este folosind o instrucțiune Print.Debug în cod și apoi rulez codul.

Mă ajută să depan codul și să stabilesc unde se blochează codul meu. Dacă obțin rezultatul lui Print.Debug în fereastra imediată, știu că codul a funcționat cel puțin până la acea linie.

Dacă sunteți nou în codificarea VBA, vă poate dura ceva timp pentru a putea utiliza fereastra imediată pentru depanare.

În mod implicit, fereastra imediată nu este vizibilă în Editorul VB. O puteți obține utilizând comanda rapidă de la tastatură Control + G (sau puteți accesa fila View și faceți clic pe „Fereastra imediată”).

Unde să adăugați cod în editorul VB

Sper că acum aveți o înțelegere de bază despre ce este VB Editor și ce părți are.

În această secțiune a acestui tutorial, vă voi arăta unde să adăugați un cod VBA în Visual Basic Editor.

Există două locuri în care puteți adăuga codul VBA în Excel:

  1. Fereastra de cod pentru un obiect. Aceste obiecte pot fi un registru de lucru, o foaie de lucru, un formular de utilizator etc.
  2. Fereastra de cod a unui modul.

Fereastra codului modulului Vs Fereastra codului obiectului

Permiteți-mi mai întâi să clarific diferența dintre adăugarea unui cod într-un modul față de adăugarea unui cod într-o fereastră de cod obiect.

Când adăugați un cod la oricare dintre obiecte, depinde de o acțiune a obiectului respectiv care va declanșa codul respectiv. De exemplu, dacă doriți să afișați toate foile de lucru dintr-un registru de lucru imediat ce deschideți acel registru de lucru, atunci codul va intra în obiectul ThisWorkbook (care reprezintă registrul de lucru).

Declanșatorul, în acest caz, este deschiderea registrului de lucru.

În mod similar, dacă doriți să protejați o foaie de lucru imediat ce este activată o altă foaie de lucru, codul pentru aceasta va intra în fereastra de cod a foii de lucru.

Acești declanșatori sunt numiți evenimente și puteți asocia un cod pentru a fi executat atunci când apare un eveniment.

Legate de: Aflați mai multe despre Evenimente în VBA.

Dimpotrivă, codul din modul trebuie executat fie manual (fie poate fi apelat și din alte subrutine).

Când înregistrați o macrocomandă, Excel creează automat un modul și introduce codul de macrocomandă înregistrat în acesta. Acum, dacă trebuie să rulați acest cod, trebuie să executați manual macro-ul.

Adăugarea codului VBA în modul

În timp ce înregistrarea unei macro creează automat un modul și introduce codul în acesta, există unele limitări atunci când utilizați un recorder de macro. De exemplu, nu poate utiliza bucle sau condiții If Then Else.

În astfel de cazuri, este mai bine să copiați și să lipiți manual codul sau să scrieți codul dvs.

Un modul poate fi utilizat pentru a conține următoarele tipuri de coduri VBA:

  1. Declarații: Puteți declara variabile într-un modul. Declararea variabilelor vă permite să specificați ce tip de date poate conține o variabilă. Puteți declara o variabilă numai pentru o sub-rutină sau pentru toate sub-rutinele din modul (sau toate modulele)
  2. Subrutine (proceduri): Acesta este codul care conține pașii pe care doriți să îi efectueze VBA.
  3. Proceduri de funcționare: Acesta este un cod care returnează o singură valoare și îl puteți utiliza pentru a crea funcții personalizate (numite și funcții definite de utilizator sau UDF în VBA)

În mod implicit, un modul nu face parte din registrul de lucru. Trebuie să îl inserați mai întâi înainte de al utiliza.

Adăugarea unui modul în editorul VB

Mai jos sunt pașii pentru a adăuga un modul:

  1. Faceți clic dreapta pe orice obiect din registrul de lucru (în care doriți modulul).
  2. Plasați cursorul pe opțiunea Insert.
  3. Faceți clic pe Modul.

Aceasta ar crea instantaneu un folder numit Module și ar insera un obiect numit Module 1. Dacă aveți deja un modul introdus, pașii de mai sus ar introduce un alt modul.

Odată ce modulul este introdus, puteți face dublu clic pe obiectul modulului în Project Explorer și va deschide fereastra de cod pentru acesta.

Acum puteți copia-lipi codul sau îl puteți scrie singur.

Scoaterea modulului

Mai jos sunt pașii pentru a elimina un modul în Excel VBA:

  1. Faceți clic dreapta pe modulul pe care doriți să îl eliminați.
  2. Faceți clic pe opțiunea Eliminare modul.
  3. În caseta de dialog care se deschide, faceți clic pe Nu.

Notă: Puteți exporta un modul înainte de al elimina. Se salvează ca fișier .bas și îl puteți importa în alt proiect. Pentru a exporta un modul, faceți clic dreapta pe modul și faceți clic pe „Exportă fișierul”.

Adăugarea de cod la fereastra de cod de obiecte

Pentru a deschide fereastra de cod pentru un obiect, trebuie doar să faceți dublu clic pe el.

Când se deschide, puteți introduce manual codul sau puteți copia-lipi codul din alte module sau de pe internet.

Rețineți că unele dintre obiecte vă permit să alegeți evenimentul pentru care doriți să scrieți codul.

De exemplu, dacă doriți să scrieți un cod pentru a se întâmpla ceva atunci când selecția este modificată în foaia de lucru, trebuie mai întâi să selectați foile de lucru din meniul derulant din partea stângă sus a ferestrei de cod și apoi să selectați evenimentul de modificare din meniu -de jos în dreapta.

Notă: Aceste evenimente sunt specifice obiectului. Când deschideți fereastra de cod pentru un registru de lucru, veți vedea evenimentele legate de obiectul registrului de lucru. Când deschideți fereastra de cod pentru o foaie de lucru, veți vedea evenimentele legate de obiectul foii de lucru.

Personalizarea editorului VB

Deși setările implicite ale Editorului Visual Basic sunt suficient de bune pentru majoritatea utilizatorilor, vă permite să personalizați în continuare interfața și câteva funcționalități.

În această secțiune a tutorialului, vă voi arăta toate opțiunile pe care le aveți atunci când personalizați editorul VB.

Pentru a personaliza mediul VB Editor, faceți clic pe Instrumente în bara de meniu, apoi faceți clic pe Opțiuni.

Aceasta va deschide caseta de dialog Opțiuni, care vă va oferi toate opțiunile de personalizare din Editorul VB. Caseta de dialog „Opțiuni” are patru file (așa cum se arată mai jos) care au diverse opțiuni de personalizare pentru Editorul Visual Basic.

Să parcurgem rapid fiecare dintre aceste file și opțiunile importante din fiecare.

Fila Editor

Deși setările încorporate funcționează bine în majoritatea cazurilor, permiteți-mi să parcurg în continuare opțiunile din această filă.

Pe măsură ce lucrați mai eficient cu VBA în Excel, vă recomandăm să personalizați Editorul VB folosind unele dintre aceste opțiuni.

Verificare auto sintaxă

Când lucrați cu VBA în Excel, de îndată ce comiteți o eroare de sintaxă, veți fi întâmpinat de o casetă de dialog pop-up (cu o descriere despre eroare). Ceva așa cum se arată mai jos:

Dacă dezactivați această opțiune, această fereastră pop-up nu va apărea nici măcar atunci când faceți o eroare de sintaxă. Cu toate acestea, ar exista o modificare a culorii în textul codului pentru a indica existența unei erori.

Dacă sunteți începător, vă recomand să păstrați această opțiune activată. Pe măsură ce aveți mai multă experiență în codificare, este posibil să începeți să găsiți aceste casete pop-up iritante și apoi puteți dezactiva această opțiune.

Solicitați o declarație variabilă

Aceasta este o opțiune pe care o recomand să o activați.

Când lucrați cu VBA, utilizați variabile pentru a conține diferite tipuri de date și obiecte.

Când activați această opțiune, aceasta introduce automat declarația „Opțiune explicită” în partea de sus a ferestrei de cod. Acest lucru vă obligă să declarați toate variabilele pe care le utilizați în cod. Dacă nu declarați o variabilă și încercați să executați codul, aceasta va afișa o eroare (așa cum se arată mai jos).

În cazul de mai sus, am folosit variabila Var, dar nu am declarat-o. Deci, când încerc să rulez codul, acesta arată o eroare.

Această opțiune este destul de utilă atunci când aveți o mulțime de variabile. De multe ori mă ajută să găsesc nume de variabile ortografiate greșit, deoarece acestea sunt considerate nedeclarate și este afișată o eroare.

Notă: Când activați această opțiune, aceasta nu afectează modulele existente.

Listă automată membru

Această opțiune este destul de utilă, deoarece vă ajută să obțineți o listă de proprietăți ale metodelor pentru un obiect.

De exemplu, dacă vreau să șterg o foaie de lucru (Sheet1), trebuie să folosesc linia Sheet1.Delete.

În timp ce scriu codul, imediat ce tastez punctul, acesta îmi va arăta toate metodele și proprietățile asociate cu obiectul Foaie de lucru (așa cum se arată mai jos).

Funcția de listă automată este excelentă, deoarece vă permite să:

  • Selectați rapid proprietatea și metoda din listă și economisiți timp
  • Vă arată toate proprietățile și metodele pe care este posibil să nu le cunoașteți
  • Evitați să faceți erori de ortografie

Această opțiune este activată implicit și vă recomand să o păstrați așa.

Opțiuni de informații rapide automate

Când tastați o funcție în foaia de lucru Excel, aceasta vă arată câteva informații despre funcție - cum ar fi argumentele pe care le ia.

În mod similar, atunci când tastați o funcție în VBA, aceasta vă arată câteva informații (așa cum se arată mai jos). Dar pentru ca acest lucru să se întâmple, trebuie să vă asigurați că opțiunea Auto Quick Info este activată (care este în mod implicit).

Opțiuni pentru sfaturi de date automate

Când parcurgeți codul rând cu rând și plasați cursorul deasupra unui nume de variabilă, acesta vă va arăta valoarea variabilei.

Mi se pare destul de util când depanez codul sau când parcurg codul rând cu rând care are bucle în el.

În exemplul de mai sus, de îndată ce am pus cursorul peste variabila (var), arată valoarea pe care o deține.

Această opțiune este activată în mod implicit și vă recomand să o păstrați așa.

Indentare automată

Deoarece codurile VBA pot deveni lungi și dezordonate, utilizarea indentării crește lizibilitatea codului.

Când scrieți cod, puteți indenta folosind tasta tab.

Această opțiune vă asigură că, atunci când ați terminat cu linia indentată și apăsați Enter, următoarea linie nu începe de la bun început, ci are aceeași indentare ca linia precedentă.

În exemplul de mai sus, după ce am scris linia Debug.Print și am apăsat Enter, va începe chiar sub ea (cu același nivel de indentare).

Găsesc această opțiune utilă și dezactivarea acestei funcții ar însemna indentarea manuală a fiecărei linii într-un bloc de cod pe care vreau să îl indentez.

Puteți modifica valoarea de indentare dacă doriți. Îl păstrez la valoarea implicită.

Trageți și fixați Editarea textului

Când această opțiune este activată, vă permite să selectați un bloc de cod și să îl glisați și să-l plasați.

Economisește timp, deoarece nu trebuie mai întâi să îl tăiați și apoi să-l lipiți. Puteți pur și simplu să o selectați și să o trageți.

Această opțiune este activată în mod implicit și vă recomand să o păstrați așa.

Implicit la modul complet de vizualizare

Când această opțiune este activată, veți putea vedea toate procedurile dintr-un modul într-o singură listă derulabilă.

Dacă dezactivați această opțiune, nu veți putea vedea decât un modul odată. Va trebui să faceți o selecție a modulului pe care doriți să-l vedeți din meniul derulant din partea dreaptă sus a ferestrei de cod.

Această opțiune este activată implicit și vă recomand să o păstrați așa.

Unul dintre motivele pentru care doriți să îl dezactivați atunci când aveți mai multe proceduri uriașe și derularea acestora necesită timp sau când aveți o mulțime de proceduri și doriți să le găsiți rapid în loc să pierdeți timpul în derulare.

Separator de proceduri

Când această opțiune este activată, veți vedea o linie (un fel de divizor) între două proceduri.

Mi se pare util acest lucru, deoarece arată vizual când o procedură se termină și cealaltă începe.

Este activat în mod prestabilit și vă recomand să îl păstrați așa.

Fila Format editor

Cu opțiunile din fila Format editor, puteți personaliza aspectul codului dvs. în fereastra codului.

Personal, păstrez toate opțiunile implicite, deoarece sunt bine cu ea. Dacă doriți, puteți modifica acest lucru în funcție de preferințe.

Pentru a face o modificare, trebuie mai întâi să selectați o opțiune în caseta Coduri de cod. Odată selectată o opțiune, puteți modifica prim-planul, fundalul și culoarea indicatorului pentru aceasta.

Tipul fontului și dimensiunea fontului pot fi, de asemenea, setate în această filă. Se recomandă utilizarea unui font cu lățime fixă, cum ar fi Courier New, deoarece face codul mai lizibil.

Rețineți că tipul de font și setarea dimensiunii vor rămâne aceleași pentru toate tipurile de coduri (de exemplu, toate tipurile de coduri afișate în caseta de culoare a codului).

Mai jos este o imagine în care am selectat Breakpoint și pot schimba formatarea acestuia.

Notă: Opțiunea Bara indicatorului de marjă, atunci când este activată, afișează o mică bară de marjă în stânga codului. Este util, deoarece arată indicatori utili atunci când executați codul. În exemplul de mai sus, când setați un punct de întrerupere, acesta va afișa automat un punct roșu în stânga liniei în bara de margine. Alternativ, pentru a seta un punct de întrerupere, puteți face clic pe bara de margine din stânga liniei de cod pe care o doriți ca punct de întrerupere.

În mod implicit, bara indicatorului de marjă este activată și vă recomand să o păstrați așa.

Unul dintre studenții mei de curs VBA a găsit utile aceste opțiuni de personalizare și era orb de culoare. Folosind opțiunile de aici, ea a reușit să stabilească culoarea și formatele care i-au ușurat lucrul cu VBA.

Filă generală

Fila General are multe opțiuni, dar nu este nevoie să o modificați.

Vă recomand să păstrați toate opțiunile așa cum este.

O opțiune importantă de aflat în această filă este Gestionarea erorilor.

În mod implicit, este selectat „Break on Unhandled Erors” și vă recomand să păstrați acest lucru.

Această opțiune înseamnă că, dacă codul dvs. întâmpină o eroare și nu ați gestionat deja această eroare în codul dvs., atunci acesta se va rupe și se va opri. Dar dacă ați remediat eroarea (cum ar fi folosind opțiunile On Error Resume Next sau On Error Goto), atunci aceasta nu se va întrerupe (deoarece erorile nu sunt gestionate).

Fila de andocare

În această filă, puteți specifica ce ferestre doriți să fie andocate.

Andocarea înseamnă că puteți repara poziția unei ferestre (cum ar fi project explorer sau fereastra Properties) astfel încât să nu plutească și să puteți vizualiza toate ferestrele în același timp.

Dacă nu andocați, veți putea vizualiza o fereastră odată în modul ecran complet și va trebui să comutați la cealaltă.

Vă recomand să păstrați setările implicite.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave