Š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