Ovaj članak će pokazati kako se koristi With i End With u VBA
Excel nam pruža mogućnost učenja VBA snimanjem makronaredbi. Ovi makroi doslovno bilježe sve što radimo na ekranu i pretvaraju radnje u VBA kôd. Zatim možemo analizirati ovaj kôd i učiti iz njega.
Kada snimamo makronaredbu u VBA -i, što je najvažnije kada mijenjamo format ćelija, makro će češće koristiti Sintaksu With … End With u svom snimanju. Razumijevanje što to znači i za što se koriste važan je dio VBA -a.
Snimanje makronaredbi
Za snimanje makronaredbi u Excelu u Vrpca, Odaberi Pogled> Makro> Snimanje makronaredbi.
ILI
Programer> Snimanje makronaredbi
Napomena: Ako ne vidite vrpcu za razvojne programere, morat ćete je omogućiti. Kliknite OVDJE da biste saznali kako to učiniti.
Upišite naziv makronaredbe i kliknite U redu.
Označite neke ćelije, a zatim ih formatirajte za podebljano, promijenite boju u crvenu i prilagodite veličinu fonta. Zatim kliknite Zaustavi u donjem lijevom kutu zaslona da biste zaustavili snimanje makronaredbi.
SA Sintaksom iskaza
Za pregled / uređivanje snimljene makronaredbe: Na vrpci odaberite Prikaz> Makronaredbe> Prikaz makronaredbi. Odaberite upravo snimljenu makro, a zatim kliknite Uredi.
ILI
Na vrpci odaberite Programer> Visual Basic za prelazak na VBE prozor.
Snimljeni makro može izgledati poput donjeg primjera
123456789 | Sub WithMacro ()Raspon ("A2: C10"). OdaberiteSelection.Font.Bold = TrueOdabir.Veličina fonta = 12S odabirom.Fonta.Boja = -16776961.TintAndShade = 0Završi sKraj podm |
Prvo smo odabrali raspon A2: C10.
Zatim smo podebljano podešili na true, a veličinu fonta na 12. Imajte na umu da se kod "Selection.Font" ponavlja za ove retke.
Makro nas je tada zabilježio kako mijenjamo boju teksta - imajte na umu da ovaj put Selection.Font ima S ispred njega, a 2 svojstva koja se mijenjaju (boja i sjenilo) imaju točku (.) ispred sebe. Područje koda tada se dopunjuje s ZAVRŠITI S.
Da bismo pojednostavili ovaj kôd, možemo pomaknuti podebljano i veličinu tako da budu unutar izraza WITH, te stoga ukloniti potrebu za ponavljanjem riječi Odabir.
123456789 | Sub WithMacro ()Raspon ("A2: C10"). OdaberiteS odabirom.Fonta. Podebljano = Istina.Veličina = 12.Boja = -16776961.TintAndShade = 0Završi sKraj podm |
Sintaksa izraza WITH… END WITH vrlo je jednostavna:
123 | S Objektom'svojstva za oblikovanje/promjenuZAVRŠITI S |
Kodeks smo mogli izmijeniti na drugačiji način:
1234567 | Sub RemoveWith ()Raspon ("A2: C10"). OdaberiteSelection.Font.Bold = TrueOdabir.Veličina fonta = 12Izbor.Font.Boja = -16776961Selection.Font.TintAndShade = 0Kraj podm |
U gornjem primjeru dodali smo riječi Selection.Font u svaki redak koda. Stoga smo se više puta pozivali na objekt Selection.Font u kodu.
Međutim, korištenje naredbe WITH znači da se na ovaj objekt moramo pozvati samo jednom u kodu. To je čistiji način kodiranja - govori VBA -i da započne s WITH, a završi na END WITH - kôd za pokretanje zatvoren je unutar te 2 riječi. Omogućuje brže i učinkovitije pokretanje makronaredbi (osobito za dulje makronaredbe) i dodaje strukturu vašem kodu.