Dabartinis VBA regionas

Šioje pamokoje bus paaiškinta, kaip naudoti dabartinį regioną VBA.

The Dabartinis regionas nuosavybė VBA yra būdas pasirinkti visas langelius, esančius diapazone, su kuriuo galbūt norėsite dirbti. Kol diapazono ląstelės yra iš eilės arba „liečiasi“ viena su kita, Dabartinis regionas pasirinks kiekvieną regiono langelį.

„CurrentRegion“ sintaksė

Sintaksė labai paprasta:

1 Diapazonas („E11“). Dabartinis regionas. Pasirinkite

kur nurodytumėte langelį, kurio dabartinį regioną norite pasirinkti, ir tada naudokite Dabartinis regionas. Pasirinkite ypatybę, kad pasirinktumėte ląstelių diapazoną.

Dabartinio regiono gavimas

Apsvarstykite šį darbalapį.

atlikus šią antrinę procedūrą būtų pasirinktos visos duomenų bazės ląstelės

1234567 Sub FindCurrentRegion ()Dim rng As Range“nustatykite diapazoną į ląstelę E11Nustatyti rng = Diapazonas („E11“)“pasirinkite dabartinį regionąrng.CurrentRegion.SelectPabaiga Sub

Jei vykdome įprastą procedūrą, visos ląstelės Dabartinis regionas bus pasirinktas langelis E11.

Jei pašalinsime gretimų langelių turinį ir iš naujo paleisime įprastą procedūrą, dabartinis regionas bus pasirinktas toliau.

Tačiau jei pašalinsime dar daugiau duomenų, galėtume pateikti žemiau esantį pavyzdį, skirtą dabartiniam ląstelės E11 regionui.

Įdėję informaciją į D13, mes gauname šiuos dalykus:

The Dabartinis regionas todėl grąžina kitą diapazonas objektas, kurį apibrėžia mažiausias užimtų stulpelių ir eilučių derinys, supantis jūsų pateiktą diapazoną.

Eilių ir stulpelių skaičiavimas dabartiniame regione

Mes galime naudoti Dabartinis regionas suskaičiuoti eilutes ir stulpelius.

12345678910111213 Sub FindCurrentRegion ()Dim rng As RangeDim iRw As IntegerDim iCol kaip sveikasis skaičius'nustatykite diapazonąNustatyti rng = Diapazonas („E11“)'suskaičiuok eilutesiRw = rng.CurrentRegion.Rows.Count“suskaičiuokite stulpeliusiCol = rng.CurrentRegion.Columns.Count“parodykite rezultatą pranešimų laukelyje„MsgBox“ („Mes turime„ & iRw & “eilutes ir„ & iCol & “stulpelius dabartiniame regione“)Pabaiga Sub

Jei atliksime procedūrą, pasirodys šis pranešimų langas.

Dabartinio regiono išvalymas

Taip pat galime naudoti dabartinę regiono ypatybę, kad išvalytume langelių diapazoną.

123456 Sub ClearCurrentRegion ()Dim rng As Range'nustatykite diapazonąNustatyti rng = Diapazonas („E11“)rng.CurrentRegion.ClearPabaiga Sub

Dabartinio regiono priskyrimas kintamajam

Mes taip pat galime priskirti visą dabartinį regioną diapazono kintamajam, o tada naudoti šį diapazono kintamąjį, kad galėtume manipuliuoti ląstelėmis - ar tai būtų ląstelių formatavimas, ląstelių rūšiavimas ir kt.

12345678910 Sub AssignCurrentRegionToVariable ()Dim rng As Rangenustatykite diapazoną kaip dabartinį E11 regionąNustatykite rng = Range ("E11"). CurrentRegion“nuspalvinkite foną ir tekstąrng.Interior.Pattern = xlSolidrng. Interjeras. Spalva = 65535rng.Font.Bold = Tiesarng.Šriftas.Spalva = -16776961Pabaiga Sub

Jei atliksime aukščiau aprašytą procedūrą, mes gausime darbalapį, kaip parodyta žemiau!

Pradžios ir pabaigos ląstelių gavimas dabartiniame regione

Turėdami šiek tiek sudėtingesnį kodą, galime gauti pirmą ir paskutinį dabartinio regiono langelį.

123456789101112131415161718 Antrasis „GetStartAndEndCells“ ()Dim rng As RangeDim iRw As IntegerDim iCol kaip sveikasis skaičius„Dim iColStart“, „iColEnd“, „iRwStart“, „iRwEnd“ kaip eilutėnustatykite diapazono kintamąjį kaip dabartinį E11 regionąNustatykite rng = Range ("E11"). CurrentRegion“nustatykite diapazono pradžios stulpelįiColStart = rng. Stulpelis'gaukite diapazono pabaigos stulpelįiColEnd = iColStart + (rng.Columns.Count - 1)'gaukite diapazono pradžios eilutęiRwStart = rng.Eilė'gaukite diapazono pabaigos eilutęiRwEnd = iRwStart + (rng.Rows.Count - 1)pranešimų laukelyje rodomas pradžios ir pabaigos eilučių ir stulpelių adresas„MsgBox“ („Diapazono pradžia“ ir „Cells“ („iRwStart“, „iColStart“). Adresas & “ir baigiasi„ & langeliais “(„ iRwEnd “,„ iColEnd “. Adresas)Pabaiga Sub

Kai paleisime aukščiau esantį kodą, pasirodys šis pranešimų langas

wave wave wave wave wave