Regiunea actuală VBA

Acest tutorial va explica modul de utilizare a Regiunii curente în VBA.

The Regiunea curentă proprietatea în VBA este o modalitate de a selecta toate celulele care sunt conținute într-un interval cu care ați putea dori să lucrați. Atâta timp cât celulele din raza de acțiune sunt consecutive sau „se ating” reciproc, Regiunea curentă va selecta fiecare celulă din regiune.

Sintaxa CurrentRegion

Sintaxa este foarte simplă:

1 Range ("E11"). CurrentRegion.Select

unde ați specifica celula a cărei regiune curentă ați dorit să o selectați și apoi să utilizați CurrentRegion.Select pentru a selecta gama de celule.

Obținerea regiunii actuale

Luați în considerare următoarea foaie de lucru.

următoarea procedură secundară ar selecta toate celulele din baza de date

1234567 Sub FindCurrentRegion ()Dim rng As Range'setați intervalul să fie celula E11Setați rng = Range ("E11")'selectați regiunea curentărng.CurrentRegion.SelectSfârșitul Sub

Dacă rulăm rutina, toate celulele din Regiunea curentă din celula E11 va fi selectat.

Dacă eliminăm conținutul celulelor alăturate și reluăm rutina, următoarele vor fi selectate ca regiune curentă.

Cu toate acestea, dacă eliminăm și mai multe date, am putea ajunge la exemplul de mai jos pentru Regiunea actuală a celulei E11.

Punând informațiile în D13, ajungem la următoarele:

The Regiunea curentă prin urmare returnează altul gamă obiect definit de cea mai mică combinație de coloane și rânduri ocupate care înconjoară zona pe care ați furnizat-o.

Numărarea rândurilor și coloanelor din regiunea curentă

Putem folosi Regiunea curentă să numere rândurile și coloanele.

12345678910111213 Sub FindCurrentRegion ()Dim rng As RangeDim iRw Ca întregDim iCol Ca întreg'setați intervalulSetați rng = Range ("E11")'numără rândurileiRw = rng.CurrentRegion.Rows.Count'numără coloaneleiCol = rng.CurrentRegion.Columns.Count'arată rezultatul într-o casetă de mesajMsgBox („Avem” & iRw & „rânduri și„ & iCol & „coloane în regiunea noastră actuală”)Sfârșitul Sub

Dacă executăm procedura, va apărea următoarea casetă de mesaj.

Golirea regiunii actuale

De asemenea, putem folosi proprietatea regiunii curente pentru a șterge gama de celule.

123456 Sub ClearCurrentRegion ()Dim rng As Range'setați intervalulSetați rng = Range ("E11")rng.CurrentRegion.ClearSfârșitul Sub

Atribuirea regiunii actuale unei variabile

Putem, de asemenea, să alocăm întreaga regiune curentă unei variabile de interval și apoi să utilizăm acea variabilă de interval pentru a manipula celulele - fie că este formatarea celulelor, sortarea celulelor etc …

12345678910 Sub AssignCurrentRegionToVariable ()Dim rng As Range'setați intervalul să fie regiunea curentă a E11Setați rng = Range ("E11"). CurrentRegion'colorează fundalul și textulrng.Interior.Pattern = xlSolidrng.Interior.Color = 65535rng.Font.Bold = Adevăratrng.Font.Color = -16776961Sfârșitul Sub

Dacă executăm procedura de mai sus, vom ajunge cu o foaie de lucru așa cum se arată mai jos!

Obținerea celulelor de început și de sfârșit în regiunea curentă

Cu un cod puțin mai complicat, putem obține prima celulă și ultima celulă dintr-o regiune curentă.

123456789101112131415161718 Sub GetStartAndEndCells ()Dim rng As RangeDim iRw Ca întregDim iCol Ca întregDim iColStart, iColEnd, iRwStart, iRwEnd As String'setați variabila intervalului să fie regiunea curentă a lui E11Setați rng = Range ("E11"). CurrentRegion'setați coloana de start pentru intervaliColStart = rng.Column'obțineți coloana finală pentru intervaliColEnd = iColStart + (rng.Columns.Count - 1)'obțineți rândul de început pentru intervaliRwStart = rng.Row„obțineți rândul final pentru intervaliRwEnd = iRwStart + (rng.Rows.Count - 1)'afișați adresa rândurilor și coloanelor de început și de sfârșit într-o casetă de mesajeMsgBox ("Gama începe de la" & Cells (iRwStart, iColStart). Adresa & "și se termină la" & Cells (iRwEnd, iColEnd) .Address)Sfârșitul Sub

Când rulăm codul de mai sus, va apărea următoarea casetă de mesaj

wave wave wave wave wave