„Excel VBA“ nustatykite diapazoną
Nustatyti diapazoną „vba“ reiškia, kad nurodome nurodytą kodo diapazoną arba procedūrą, kurią vykdysime. Jei kodui nepateiksime konkretaus diapazono, jis automatiškai prisiims diapazoną iš darbalapio, kuriame yra aktyvi ląstelė, todėl tai yra labai svarbu kodą, kad būtų nustatytas diapazono kintamasis.
Tiek metų dirbęs su „Excel“, jūs turite suprasti faktą, kad visi mūsų atliekami darbai yra darbalapyje, o darbalapiuose duomenys yra ląstelėse. Taigi, kai norite žaisti su duomenimis, turite būti darbalapių langelių elgesio modelis. Taigi, kai sujungiamos kelios ląstelės, jis tampa diapazonu. Norėdami išmokti VBA, turėtumėte žinoti viską apie langelius ir diapazonus. Taigi šiame straipsnyje mes jums parodysime, kaip tiksliai nustatyti ląstelių diapazoną, kurį galima naudoti VBA kodavimui.

Kas yra diapazono objektas?
Diapazonas VBA vadinamas objektu. Diapazone gali būti viena ląstelė, kelios langelės, eilutė arba stulpelis ir kt.
VBA diapazoną galime klasifikuoti taip, kaip nurodyta toliau.
„Programa >>> Darbaknygė >>> Darbalapis >>> Diapazonas“
Pirma, turime pasiekti programą. Tada pagal tai turime nurodyti, į kurią darbaknygę mes kreipiamės, o darbaknygėje nurodome, į kurį darbalapį mes kreipiamės, o tada darbalapyje turime paminėti langelių diapazoną.
Naudodami langelių diapazoną, galime įvesti reikšmę į langelį ar langelius, galime nuskaityti ar gauti reikšmes iš langelio ar langelių, galime ištrinti, galime formatuoti ir galime atlikti daugelį kitų dalykų.
Kaip pasiekti „Excel VBA“ ląstelių diapazoną?
Koduodami VBA, mes galime nurodyti langelį naudodami VBA CELLS ypatybę ir objektą RANGE. Pvz., Jei pirmiausia norite nurodyti langelį A1, pamatysime naudojant objektą RANGE.
Subprocedūros viduje pirmiausia turime atidaryti RANGE objektą.
Kodas:
Sub Range_Pavyzdžiai () Range (End Sub

Kaip matote aukščiau, objektas RANGE klausia, kokia yra ląstelė, apie kurią kalbame. Taigi langelio adresą turime įvesti kabutėse.
Kodas:
Sub Range_Pavyzdžiai () Range ("A1") End Sub

Pateikus langelio adresą, turime nuspręsti, ką daryti su šia ląstele, naudodami savybes ir metodus. Dabar įdėkite tašką, kad pamatytumėte objekto RANGE savybes ir metodus.

Jei norime įterpti reikšmę į langelį, turime pasirinkti ypatybę „Vertė“.
Kodas:
Sub Range_Pavyzdžiai () Range ("A1"). Reikšmė End Sub

Norėdami nustatyti vertę, turime įdėti lygybės ženklą ir įvesti vertę, kurią norime įterpti į langelį A1.
Kodas:
Sub Range_Pavyzdžiai () Range ("A1"). Reikšmė = "Excel VBA Class" Pabaiga Sub

Paleiskite kodą naudodami paleidimo parinktį ir pamatykite magiją langelyje A1.

Kaip minėta kode, reikšmę gavome langelyje A1.
Panašiai galime nurodyti langelį naudodami ir CELLS ypatybę. Atidarykite CELLS ypatybę ir pamatykite sintaksę.

Tai skiriasi nuo objekto RANGE, kur langelio adresą galime įvesti tiesiai dvigubomis kabutėmis. Atvirkščiai, turime nurodyti eilutės numerį ir stulpelį, kad nurodytume langelį. Kadangi mes kalbame apie langelį A1, galime sakyti, kad eilutė yra 1, o stulpelis yra 1.

Paminėję langelio adresą, galime naudoti savybes ir metodus darbui su ląstelėmis. Bet problema čia skiriasi nuo diapazono objekto įdėjus tašką. Mes nematome „IntelliSense“ sąrašo.

Taigi, norėdami nukreipti į langelius naudodami CELLS ypatybę, turite būti ekspertas.
Kodas:
CELLS_Examples () langeliai (1, 1). Vertė = "Excel VBA klasė" Pabaiga Sub

Prieiga prie kelių langelių ir nustatymo diapazono nuoroda VBA
Vienas iš didžiausių CELLS & RANGE skirtumų yra CELLS naudojimas. Mes galime pasiekti tik vieną langelį, bet naudodami RANGE. Mes taip pat galime pasiekti kelias langelius.
Pavyzdžiui, langeliams nuo A1 iki B5, jei norime 50 vertės, tada kodą galime parašyti taip, kaip nurodyta toliau.
Kodas:
Sub Range_Pavyzdžiai () Range ("A1: B5"). Reikšmė = 50 End Sub

Tai įves 50 reikšmę iš langelių A1 į B5.

Užuot tiesiogiai nurodę langelius, galime naudoti kintamąjį nurodytų langelių nuorodai laikyti.
Pirmiausia nustatykite kintamąjį kaip „Range“ objektą.
Kodas:
Sub Range_Pavyzdžiai () Dim Rng As Range End Sub

Kai kintamasis bus apibrėžtas kaip objektas „Range“, mes turime nustatyti šio kintamojo nuorodą į tai, kokie yra ląstelių adresai.
Norėdami nustatyti nuorodą, turime naudoti raktinį žodį „SET“ ir naudodami objektą RANGE įvesti langelių adresus.
Kodas:
Sub Range_Pavyzdžiai () Dim Rng As Range Set Rng = Range ("A1: B5") End Sub

Dabar kintamasis „Rng“ nurodo langelius nuo A1 iki B5.
Užuot rašę langelio adreso diapazoną („A1: B5“), galime tiesiog naudoti kintamojo pavadinimą „Rng“.
Kodas:
Sub Range_Pavyzdžiai () Dim Rng As Range Set Rng = Diapazonas ("A1: B5") Rng.Value = "Diapazono nustatymas" Pabaiga Sub

Dabar tai įterps minėtą vertę iš A1 langelio į B5 langelį.

Tarkime, kad norite, kad ir kokia pasirinkta ląstelė būtų nuoroda, tada mes galime nustatyti nuorodą taip.
Kodas:
Sub Range_Pavyzdžiai () Dim Rng As Range Set Rng = Selection Rng.Value = "Range Setting" End Sub

Tai yra grožis, nes jei aš pasirinksiu bet kurią iš ląstelių ir paleisiu, tai ši ląstelė taip pat įterps vertę.
Pavyzdžiui, parenku tam tikras langelius.

Dabar įvykdysiu kodą ir pažiūrėsiu, kas bus.

Visų pasirinktų langelių vertė įterpta.
Panašiai mes galime nustatyti diapazono nuorodą deklaruodami kintamuosius VBA.
Ką reikia atsiminti
- Diapazonas gali pasirinkti kelias langelius, bet CELLS vienu metu gali pasirinkti vieną langelį.
- RANGE yra objektas, o CELLS yra nuosavybė.
- Bet kuriam objekto kintamajam reikia nustatyti objekto nuorodą naudojant raktinį žodį SET.