See õpetus selgitab, kuidas praegust piirkonda VBA -s kasutada.
The Praegune piirkond atribuut VBA -s on võimalus valida kõik lahtrid, mis asuvad vahemikus, millega võiksite töötada. Niikaua kui vahemikus olevad lahtrid on kõik järjest või üksteist puudutavad, Praegune piirkond valib piirkonna kõik lahtrid.
Praeguse piirkonna süntaks
Süntaks on väga lihtne:
1 | Vahemik ("E11"). Praegune piirkond.Valige |
kus määraksite lahtri, mille praeguse piirkonna soovite valida, ja seejärel kasutage Praegune piirkond. Valige atribuut, et valida lahtrite vahemik.
Praeguse piirkonna saamine
Mõelge järgmisele töölehele.
järgmine alamprotseduur valiks kõik andmebaasi lahtrid
1234567 | Alamotsingu praegune piirkond ()Dim rng As Rangeseadistage vahemik lahtrisse E11Määra rng = Vahemik ("E11")'valige praegune piirkondrng.CurrentRegion.SelectEnd Sub |
Kui me käitame rutiini, siis kõik rakud Praegune piirkond valitakse lahtrist E11.
Kui eemaldame külgnevate lahtrite sisu ja käivitame rutiini uuesti, valitakse praeguseks piirkonnaks järgmine.
Kui aga eemaldame veelgi rohkem andmeid, võime lõpetada järgmise näitega lahtri E11 praeguse piirkonna kohta.
Lisades teabe D13 -sse, jõuame järgmisele:
The Praegune piirkond tagastab seega teise vahemik objekti, mille määrab teie esitatud vahemikku ümbritsevate hõivatud veergude ja ridade väikseim kombinatsioon.
Praeguse piirkonna ridade ja veergude lugemine
Saame kasutada Praegune piirkond ridade ja veergude lugemiseks.
12345678910111213 | Alamotsingu praegune piirkond ()Dim rng As RangeDim iRw täisarvunaDim iCol täisarvuna'määrake vahemikMäära rng = Vahemik ("E11")'loe riduiRw = rng.CurrentRegion.Rows.Count'loendage veergeiCol = rng.CurrentRegion.Columns.Count'näita tulemusteateidMsgBox ("Meil on praeguses piirkonnas ridu" & iRw & "ja veerge" & iCol & "")End Sub |
Kui me protseduuri käivitame, ilmub järgmine sõnumikast.
Praeguse piirkonna puhastamine
Lahtrite vahemiku tühjendamiseks saame kasutada ka praeguse piirkonna omadust.
123456 | Alam ClearCurrentRegion ()Dim rng As Range'määrake vahemikMäära rng = Vahemik ("E11")rng. Praegune piirkond. SelgeEnd Sub |
Praeguse piirkonna määramine muutujale
Samuti võime määrata kogu praeguse piirkonna vahemiku muutujale ja seejärel kasutada seda vahemiku muutujat lahtritega manipuleerimiseks - olgu see siis lahtrite vormindamine, lahtrite sortimine jne …
12345678910 | Sub AssignCurrentRegionToVariable ()Dim rng As Range"määrake vahemik E11 praeguseks piirkonnaksMäära rng = Vahemik ("E11"). Praegune piirkond'värvige taust ja tekstrng.Interior.Pattern = xlTahkerng. Sisemine. Värv = 65535rng.Font.Bold = Tõsirng.Font.Color = -16776961End Sub |
Kui käivitame ülaltoodud protseduuri, saame lõpuks töölehe, nagu allpool näidatud!
Algus- ja lõpplahtrite hankimine praeguses piirkonnas
Veidi keerukama koodiga saame praeguse piirkonna esimese lahtri ja viimase lahtri.
123456789101112131415161718 | Alam GetStartAndEndCells ()Dim rng As RangeDim iRw täisarvunaDim iCol täisarvunaHämardage iColStart, iColEnd, iRwStart, iRwEnd stringina'määrake vahemiku muutujaks E11 praegune piirkondMäära rng = Vahemik ("E11"). Praegune piirkond'määrake vahemiku algusveergiColStart = rng. Veerg'saada vahemiku lõppveergiColEnd = iColStart + (rng. Veerud.arv - 1)'saate vahemiku algusreaiRwStart = rng. Rida'saada vahemiku lõppridaiRwEnd = iRwStart + (rng.Rows.Count - 1)'kuvatakse sõnumikastis algus- ja lõpprea ning veergude aadressMsgBox ("Vahemik algab kell" ja lahtrid (iRwStart, iColStart). Aadress & "ja lõpeb" & lahtrid (iRwEnd, iColEnd). Aadress)End Sub |
Kui käivitame ülaltoodud koodi, kuvatakse järgmine sõnumikast