VBA pasirinkimo diapazonas | Kaip pasirinkti diapazoną „Excel VBA“?

„Excel VBA“ pasirinkimo diapazonas

Po pagrindinės medžiagos su VBA svarbu suprasti, kaip dirbti su daugeliu langelių darbalapyje. Pradėjus vykdyti kodus praktiškai dažniausiai, reikia dirbti su daugeliu langelių. Taigi svarbu suprasti, kaip dirbti su ląstelių diapazonu, ir viena iš tokių sąvokų yra VBA „Diapazono pasirinkimas“. Šiame straipsnyje mes parodysime, kaip dirbti su „Excel VBA“ pasirinkimo diapazonu.

Pasirinkimas ir diapazonas yra dvi skirtingos temos, tačiau kai sakome pasirinkti diapazoną ar diapazono pasirinkimą, tai yra viena sąvoka. RANGE yra objektas, „Selection“ yra ypatybė, o „Select“ yra metodas. Žmonės linkę painioti su šiais terminais, svarbu žinoti skirtumus apskritai.

Kaip pasirinkti diapazoną „Excel VBA“?

Šį „VBA Selection Range Excel“ šabloną galite atsisiųsti čia - „VBA Selection Range Excel“ šablonas

1 pavyzdys

Pavyzdžiui, tarkime, kad darbalapyje norite pasirinkti langelį A1, tada pirmiausia turime nurodyti langelio adresą naudodami objektą RANGE, kaip nurodyta toliau.

Kodas:

Paminėję langelį, kurį turime pasirinkti įdėti tašką, norėdami pamatyti „IntelliSense“ sąrašą, susietą su objektu RANGE.

Suformuodami šią sąrašų įvairovę pasirenkate metodą „Pasirinkti“.

Kodas:

 Sub Range_Example1 () Range ("A1"). Pasirinkite End Sub 

Dabar šis kodas parinks langelį A1 aktyviajame darbalapyje.

Jei norite pasirinkti langelį skirtinguose darbalapiuose, pirmiausia turime nurodyti darbalapį pagal jo pavadinimą. Norėdami nurodyti darbalapį, turime naudoti objektą „WORKSHEET“ ir įvesti darbalapio pavadinimą dviem kabutėmis.

Pvz., Jei norite pasirinkti langelį A1 darbalapyje „Duomenų lapas“, pirmiausia nurodykite darbalapį, kaip nurodyta toliau.

Kodas:

 Pogrupio_pavyzdys1 () darbalapiai („Duomenų lapas“) Pabaiga 

Tada tęskite kodą ir nurodykite, ką turime daryti šiame lape. „Duomenų lape“ turime pasirinkti langelį A1, todėl kodas bus RANGE („A1“). Pasirinkite.

Kodas:

 Sub Range_Eample1 () darbalapiai („Data Sheet“). Diapazonas („A1“). Pasirinkite End Sub 

Kai bandysite vykdyti šį kodą, gausime žemiau pateiktą klaidą.

To priežastis yra „mes negalime tiesiogiai pateikti diapazono objekto ir pasirinkti metodą darbalapių objektui“.

Pirma, turime pasirinkti arba suaktyvinti VBA darbalapį, tada galime padaryti viską, ką norėjome.

Kodas:

 Pogrupio_pavyzdys1 () darbalapiai („Duomenų lapas“). Aktyvuokite diapazoną („A1“). Pasirinkite Pabaigti antrinį 

Dabar tai parinks langelį A1 darbalapyje „Duomenų lapas“.

2 pavyzdys - darbas su dabartiniu pasirinktu diapazonu

Pasirinkimas yra kitoks dalykas, o darbas su jau pasirinktu langelių diapazonu yra kitoks. Tarkime, kad į langelį A1 norite įterpti reikšmę „Hello VBA“, tada mes galime tai padaryti dviem būdais.

Pirma, mes galime tiesiogiai perduoti VBA kodą kaip RANGE („A1“). Reikšmė = „Hello VBA“.

Kodas:

 Sub Range_Pavyzdys1 () Range ("A1"). Reikšmė = "Hello VBA" pabaigos antrinė dalis 

Tai, ką padarys šis kodas, tai tiesiog įterpia reikšmę „Hello VBA“ į langelį A1, neatsižvelgiant į tai, kuri ląstelė pasirinkta šiuo metu.

Pažvelkite į aukščiau pateiktą kodo rezultatą. Kai vykdome šį kodą, jis įterpė reikšmę „Hello VBA“, nors šiuo metu pasirinktas langelis yra B2.

Antra, mes galime įterpti vertę į langelį naudodami ypatybę „Pasirinkimas“. Pirmiausia turime pasirinkti langelį rankiniu būdu ir įvykdyti kodą.

Kodas:

 Sub Range_Example1 () Selection.Value = "Sveiki, VBA" Pabaiga Sub 

Tai, ką padarys šis kodas, į šiuo metu pasirinktą langelį įterps vertę „Hello VBA“. Pavyzdžiui, pažvelkite į žemiau pateiktą vykdymo pavyzdį.

Kai įvykdžiau kodą, mano pasirinktas langelis buvo B2, o mūsų kodas tą pačią vertę įterpė į šiuo metu pasirinktą langelį.

Dabar aš pasirenku langelį B3 ir įvykdysiu, taip pat gausime tą pačią vertę.

Dar vienas dalykas, kurį galime padaryti su „pasirinkimo“ savybe, yra tai, kad galime įterpti vertę ir daugiau nei vienai langelei. Pavyzdžiui, dabar pasirenku langelių diapazoną nuo A1 iki B5.

Dabar, jei vykdysiu kodą, visų pasirinktų langelių reikšmę gausime kaip „Sveiki, VBA“.

Taigi paprastas skirtumas tarp langelio adreso nurodymo pagal objektą RANGE ir ypatybės Selection yra tas, kad objekto Range diapazone įterpiama vertė į aiškiai nurodytas langelius.

Bet objekte „Pasirinkimas“ nesvarbu, kurioje ląstelėje esate, jis įterps minėtą vertę į visas pasirinktas langeles.

Ką čia reikia atsiminti

  • Mes negalime tiesiogiai pateikti pasirinkimo metodo, esančio ypatybėje Pasirinkimas.
  • RANGE yra objektas, o pasirinkimas yra nuosavybė.
  • Vietoj diapazono galime naudoti CELLS nuosavybę.

$config[zx-auto] not found$config[zx-overlay] not found