„UsedRange“, kaip rodo pavadinimas, yra diapazonai, kurie, kaip tam tikros reikšmės juose, tušti langeliai neįtraukiami į naudojamus diapazonus, todėl VBA naudoti diapazonai yra VBA diapazono objekto savybė tiems langelių diapazonams, eilutės ir stulpeliai, kurie nėra tušti ir turi tam tikras reikšmes.
„UsedRange“ VBA „Excel“
„UseRange in VBA“ yra darbalapio ypatybė, kuri grąžina diapazono objektą, nurodantį tam tikrame darbalapyje naudojamą diapazoną (visas naudojamas „Excel“ langelius arba užpildytus darbalapyje). Tai ypatybė, nurodanti plotą, kurį uždengia arba riboja darbalapio viršutiniame kairiajame langelyje ir paskutiniame dešiniajame langelyje.
„Naudotą langelį“ galime apibūdinti kaip langelį, kuriame yra bet kokia formulė, formatavimas, reikšmė ir kt. Mes taip pat galime pasirinkti paskutinį naudojamą langelį paspausdami klaviatūros klavišus CTRL + END.
Toliau pateikiama „UsedRange“ iliustracija darbalapyje:

Pirmiau pateiktoje ekrano kopijoje galime pamatyti, kad „UsedRange“ yra A1: D5.
„Excel VBA UsedRange Property“ pavyzdžiai
Pažvelkime į keletą toliau pateiktų pavyzdžių, norėdami pamatyti, kaip darbalapyje esančią „UsedRange“ ypatybę galima panaudoti ieškant VBA naudojamo diapazono:
1 pavyzdys
Tarkime, kad turime „Excel“ failą, kuriame yra du darbalapiai, ir norime rasti ir pasirinkti naudojamą diapazoną „Sheet1“.
Pažiūrėkime, kas yra „Sheet1“:

Vykdydami šią užduotį, VBA Immediate lange naudojame ypatybę UsedRange. Tiesioginis VBA langas yra įrankis, padedantis gauti informacijos apie „Excel“ failus, greitai vykdyti ar derinti bet kokį VBA kodą, net jei vartotojas nerašo jokių makrokomandų. Jis yra „Visual Basic“ redaktoriuje ir jį galima pasiekti taip:
- Eikite į „Developer“ skirtuką „Excel“, tada spustelėkite „Visual Basic Editor“ arba paspauskite „Alt“ + F11, kad atidarytumėte „Visual Basic Editor“ langą.

Tai padarius, langas atsidaro taip:

- Paspauskite „Ctrl“ + G, kad atidarytumėte tiesioginį langą, ir įveskite kodą.
Tiesioginis langas atrodo taip:

- Šis kodas parinks naudojamą diapazoną „Sheet1“.
Kodas:
? Darbalapiai ("Sheet1"). Suaktyvinti True? ActiveSheet.UsedRange.Pasirinkite True
Pirmasis kodo sakinys suaktyvins failo „Sheet1“, o antrasis teiginys parinks naudojamą diapazoną tame aktyviame lape.

Rašydami šį kodą matome, kad „Sheet1“ naudojamas diapazonas pasirenkamas taip:

2 pavyzdys
Tarkime, šiame pavyzdyje norime rasti bendrą „Sheet1“ naudojamų eilučių skaičių. Norėdami tai padaryti, atliksime šiuos veiksmus:
- Modulyje sukurkite makrokomandos pavadinimą.
Kodas:
Sub TotalRows () Pabaiga Sub

- Apibrėžkite „TotalRow“ kintamąjį kaip sveikąjį skaičių VBA:
Kodas:
Sub TotalRows () Dim TotalRow kaip sveikojo skaičiaus pabaigos Sub

- Dabar priskirkite kintamąjį „TotalRow“ pagal formulę, kad apskaičiuotumėte bendrą eilučių skaičių:
Kodas:
Sub TotalRows () Dim TotalRow As Integer TotalRow = ActiveSheet.UsedRange.Rows.Count End Sub

- Dabar gautą „TotalRow“ vertę galima rodyti ir grąžinti naudojant VBA pranešimų laukelį (MsgBox) taip:
Kodas:
Sub TotalRows () Dim TotalRow As Integer TotalRow = ActiveSheet.UsedRange.Rows.Count MsgBox TotalRow End Sub

- Dabar mes paleidžiame šį kodą rankiniu būdu arba paspausdami F5 ir gauname bendrą „Sheet1“ naudojamų eilučių skaičių pranešimų laukelyje taip:

Taigi, aukščiau pateiktoje ekrano kopijoje galime pamatyti, kad pranešimo laukelyje grąžinama „5“, ir, kaip matome „Sheet1“, bendras naudojamo diapazono eilučių skaičius yra 5.
3 pavyzdys
Panašiai, jei norime rasti bendrą „Sheet1“ naudojamų stulpelių skaičių, atliksime tuos pačius veiksmus, kaip nurodyta aukščiau, išskyrus nedidelį kodo pakeitimą taip:
Kodas:
Sub TotalCols () Dim TotalCol kaip sveikasis skaičius TotalCol = ActiveSheet.UsedRange.Columns.Count MsgBox TotalCol End Sub

Dabar, kai paleidžiame šį kodą rankiniu būdu arba paspausdami F5, gauname bendrą „Sheet1“ naudojamų stulpelių skaičių, rodomą pranešimų laukelyje taip:

Taigi pranešimo laukelyje grąžinama „4“ ir, kaip matome „Sheet1“, bendras naudojamų diapazonų stulpelių skaičius yra 4.
4 pavyzdys
Tarkime, kad norime rasti paskutinį naudojamą eilutės ir stulpelio numerį failo 2 lape. Pažiūrėkime, kas yra „Sheet2“:

Norėdami tai padaryti, atliksime šiuos veiksmus:
- Modulyje sukurkite makrokomandos pavadinimą.
Kodas:
Sub LastRow () Pabaiga Sub

- Apibrėžkite kintamąjį „LastRow“ kaip sveikąjį skaičių.
Kodas:
Sub LastRow () Tamsinti LastRow kaip Sveikasis Pabaiga Sub

- Dabar priskirkite kintamąjį „LastRow“ su formule, kad apskaičiuotumėte paskutinį naudojamą eilutės numerį:
Kodas:
Sub LastRow () Dim LastRow As Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Row End Sub

„SpecialCells“ metodas „Excel VBA“ pateikia srities objektą, kuris atspindi tik nurodytų langelių tipus. „SpecialCells“ metodo sintaksė yra tokia:
RangeObject.SpecialCells (tipas, vertė)
Ankstesniame kode xlCellTypeLastCell: reiškia paskutinį naudojamo diapazono langelį.
Pastaba: „xlCellType“ bus įtraukti net tušti langeliai, kurių bet kurio langelio numatytasis formatas buvo pakeistas.- Dabar gautą „LastRow“ numerio vertę galima rodyti ir grąžinti naudojant pranešimų laukelį (MsgBox) taip:
Kodas:
Sub LastRow () Dim LastRow As Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Eilutė MsgBox LastRow End Sub

- Dabar mes paleidžiame šį kodą rankiniu būdu arba paspausdami F5 ir gauname paskutinį naudotą „Sheet2“ eilutės numerį, rodomą pranešimų laukelyje taip:

Taigi, aukščiau pateiktoje ekrano kopijoje galime pamatyti, kad pranešimo laukelyje grąžinama „12“, ir kaip matome „Sheet2“, paskutinis naudotas eilutės numeris yra 12.
Panašiai, jei norime rasti paskutinį naudojamą stulpelio numerį „Sheet2“, atliksime tuos pačius veiksmus, kaip nurodyta aukščiau, išskyrus nedidelį kodo pakeitimą taip:
Kodas:
Sub LastCol () Dim LastCol As Integer LastCol = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Column MsgBox LastCol End Sub

Dabar, kai paleidžiame šį kodą rankiniu būdu arba paspausdami F5, gauname paskutinį naudojamą stulpelio numerį „Sheet2“, rodomą pranešimų laukelyje taip:

Taigi, aukščiau pateiktoje ekrano kopijoje galime pamatyti, kad pranešimo laukelyje grąžinama „3“, ir, kaip matome „Sheet2“, paskutinis naudojamas stulpelio numeris yra 3.
Įsimintini dalykai apie VBA UsedRange
- „VBA UsedRange“ yra stačiakampio diapazonas.
- VBA UsedRange apima langelius, turinčius bet kokius duomenis arba formatuojamus ir pan.
- „Excel VBA UsedRange“ nebūtinai apima darbalapio viršutinį kairį langelį.
- „UsedRange“ nebūtinai laiko aktyvią ląstelę naudota.
- „UsedRange“ gali būti naudojamas ieškant paskutinės naudotos VBA eilutės ir atstatant naudotą diapazoną ir kt.
- Spustelėjus sparčiuosius klavišus „Excel“ klavišus CTRL + SHIFT + ENTER klaviatūroje, galima išplėsti pasirinkimą nuo aktyvios langelio iki paskutinio panaudoto langelio darbalapyje.