VBA cu / Încheiați cu declarația

Acest articol va arăta cum să folosiți With and End With în VBA

Excel ne oferă posibilitatea de a învăța VBA înregistrând macrocomenzi. Aceste macrocomenzi înregistrează literalmente tot ceea ce facem pe ecran și convertim acțiunile în cod VBA. Putem apoi să analizăm acest cod și să învățăm din acesta.

Când înregistrăm o macrocomandă în VBA, cel mai semnificativ atunci când schimbăm formatul celulelor, macrocomanda va folosi cel mai adesea cu … Încheiere cu sintaxă în înregistrare. Înțelegerea a ceea ce înseamnă și pentru care sunt utilizate acestea este o parte importantă a VBA.

Înregistrarea unei macro

Pentru a înregistra o macro în Excel, în Panglică, Selectați Vizualizare> Macro> Înregistrare macro.

SAU

Dezvoltator> Înregistrați macro

Notă: dacă nu vedeți panglica pentru dezvoltatori, va trebui să o activați. Faceți clic AICI pentru a afla cum să faceți acest lucru.

Tastați numele pentru macro și faceți clic pe OK.

Evidențiați câteva celule, apoi formatați-le pentru Bold, schimbați culoarea în roșu și modificați dimensiunea fontului. Apoi faceți clic pe Stop în colțul din stânga jos al ecranului pentru a opri înregistrarea macro-ului.

CU Sintaxa declarațiilor

Pentru a vizualiza / edita macro-ul înregistrat: În Panglică, selectați Vizualizare> Macro> Vizualizare macro. Selectați macrocomanda pe care tocmai ați înregistrat-o, apoi faceți clic pe Editați | ×.

SAU

În Panglică, selectați Dezvoltator> Visual Basic pentru a comuta la fereastra VBE.

Macro-ul înregistrat poate arăta ca exemplul de mai jos

123456789 Sub WithMacro ()Gama ("A2: C10"). SelectațiSelection.Font.Bold = AdevăratSelection.Font.Size = 12Cu Selection.Font.Culoare = -16776961.TintAndShade = 0Se termina cuSfârșitul Sub

În primul rând, am selectat intervalul A2: C10.

Apoi am setat boldul la true și dimensiunea fontului la 12. Rețineți că pentru aceste linii se repetă codul „Selection.Font”.

Macro-ul ne-a înregistrat apoi schimbând culoarea textului - rețineți că de data aceasta, Selection.Font are un CU în fața sa, iar cele 2 proprietăți care sunt modificate (culoarea și nuanța) au o punctă (.) în fața lor. Zona de cod este apoi completată cu un SE TERMINA CU.

Pentru a simplifica acest cod, putem muta Bold și Size pentru a se afla în instrucțiunea WITH și, prin urmare, eliminăm necesitatea de a repeta cuvântul Selection.

123456789 Sub WithMacro ()Gama ("A2: C10"). SelectațiCu Selection.Font.Bold = Adevărat.Mărime = 12.Culoare = -16776961.TintAndShade = 0Se termina cuSfârșitul Sub

Sintaxa unei instrucțiuni WITH … END WITH este, prin urmare, foarte simplă:

123 CU Obiect'proprietăți de formatat / modificatSE TERMINA CU

Am fi putut modifica codul într-un mod diferit:

1234567 Sub RemoveWith ()Gama ("A2: C10"). SelectațiSelection.Font.Bold = AdevăratSelection.Font.Size = 12Selection.Font.Color = -16776961Selection.Font.TintAndShade = 0Sfârșitul Sub

În exemplul de mai sus, am adăugat în cuvintele Selection.Font la fiecare linie a codului. Prin urmare, ne-am referit în mod repetat la obiectul Selection.Font din cod.

Cu toate acestea, utilizarea instrucțiunii WITH înseamnă că trebuie să ne referim la acest obiect doar o dată în cod. Este un mod mai curat de codare - îi spune VBA să înceapă de la WITH și la sfârșit la END WITH - codul de rulat este inclus în toate cele 2 cuvinte. Aceasta face ca macro-ul să ruleze mai rapid și mai eficient (în special pentru macro-uri mai lungi) și adaugă structură codului dvs.

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

wave wave wave wave wave