Gama de selecție VBA - Cum să selectați o gamă în Excel VBA?

Gama de selecție VBA Excel

După elementele de bază cu VBA, este important să înțelegeți cum să lucrați cu o serie de celule din foaia de lucru. Odată ce începeți să executați codurile practic de cele mai multe ori, trebuie să lucrați cu o gamă de celule, deci este important să înțelegeți cum să lucrați cu o gamă de celule, iar un astfel de concept este VBA „Selecția intervalului”. În acest articol, vă vom arăta cum să lucrați cu „Selection Range” în Excel VBA.

Selecția și gama sunt două subiecte diferite, dar atunci când spunem să selectăm gama sau selecția gamei, este un singur concept. RANGE este un obiect, „Selection” este o proprietate și „Select” este o metodă. Oamenii tind să se confunde cu acești termeni. Este important să cunoaștem diferențele în general.

Cum să selectați o gamă în Excel VBA?

Exemplul nr. 1

De exemplu, presupuneți că atunci doriți să selectați celula A1 din foaia de lucru. În primul rând, trebuie să specificăm adresa celulei utilizând un obiect RANGE ca mai jos.

Cod:

După menționarea celulei pe care trebuie să o selectăm, puneți un punct pentru a vedea lista IntelliSense, care este asociată cu obiectul RANGE.

Formați această varietate de liste, alegeți metoda „Selectați”.

Cod:

Sub Range_Example1 () Range ("A1"). Selectați End Sub

Acum, acest cod va selecta celula A1 din foaia de lucru activă.

Dacă doriți să selectați celula din diferitele foi de lucru, atunci mai întâi trebuie să specificăm foaia de lucru după numele acesteia. Pentru a specifica foaia de lucru, trebuie să folosim obiectul „WORKSHEET” și să introducem numele foii de lucru între ghilimele duble.

De exemplu, dacă doriți să selectați celula A1 din foaia de lucru „Foaie de date”, atunci specificați mai întâi foaia de lucru la fel ca mai jos.

Cod:

Sub Range_Example1 () Foi de lucru („Foaie tehnică”) End Sub

Apoi continuați codul pentru a specifica ce trebuie să facem în această foaie. În „Foaie tehnică”, trebuie să selectăm celula A1, deci codul va fi GAMA („A1”). Selectați.

Cod:

Sub Range_Example1 () Foi de lucru ("Foaie de date"). Range ("A1"). Selectați End Sub

Când încercați să executați acest cod, vom primi eroarea de mai jos.

Motivul pentru aceasta este „nu putem furniza direct obiectul interval și selecta metoda obiectului foi de lucru”.

Mai întâi, trebuie să selectăm sau să activăm foaia de lucru VBA și apoi putem face orice lucruri am vrut să facem.

Cod:

Sub Range_Example1 () Foi de lucru („Foaie de date”). Activați Range („A1”). Selectați End Sub

Acum, aceasta va selecta celula A1 din foaia de lucru „Foaie de date”.

Exemplul # 2 - Lucrul cu gama selectată curentă

Selectarea este un lucru diferit și lucrul cu un interval deja selectat de celule este diferit. Presupunem că doriți să inserați o valoare „Hello VBA” în celula A1, apoi o putem face în două moduri.

În primul rând, putem trece direct codul VBA ca RANGE („A1”). Valoare = „Bună ziua, VBA”.

Cod:

Sub Range_Example1 () Range ("A1"). Value = "Hello VBA" End Sub

Ce va face acest cod este că doar va introduce valoarea „Hello VBA” în celula A1, indiferent de celula selectată în prezent.

Uită-te la rezultatul de mai sus al codului. Când executăm acest cod, acesta a inserat valoarea „Hello VBA”, chiar dacă celula selectată în prezent este B2.

În al doilea rând, putem insera valoarea în celulă folosind proprietatea „Selecție”. Pentru aceasta mai întâi, trebuie să selectăm manual celula și să executăm codul.

Cod:

Sub Range_Example1 () Selection.Value = "Hello VBA" End Sub

Ce va face acest cod este că va introduce valoarea „Hello VBA” în celula selectată în prezent. De exemplu, priviți exemplul de execuție de mai jos.

Când am executat codul, celula mea curentă selectată a fost B2, iar codul nostru a introdus aceeași valoare în celula selectată în prezent.

Acum voi selecta celula B3 și voi executa, acolo vom obține aceeași valoare.

Încă un lucru pe care îl putem face cu proprietatea „selecție” este că putem introduce valoare și mai multor celule. De exemplu, voi selecta acum gama de celule de la A1 la B5.

Acum, dacă execut codul, pentru toate celulele selectate, vom obține valoarea „Hello VBA”.

Deci, diferența simplă între specificarea adresei celulei prin obiectul RANGE și proprietatea Selecție este, în codul obiectului Range va insera valoare celulelor care sunt specificate în mod explicit.

Dar în obiectul Selecție, nu contează în ce celulă vă aflați. Va insera valoarea menționată în toate celulele selectate.

Lucruri de reținut aici

  • Nu putem furniza direct metoda select în proprietatea Selection.
  • RANGE este un obiect, iar selecția este proprietate.
  • În loc de raza de acțiune, putem folosi proprietatea CELLS.

Articole interesante...