VBA jelenlegi régió

Ez az oktatóanyag elmagyarázza, hogyan kell használni a jelenlegi régiót a VBA -ban.

Az CurrentRégió tulajdonság a VBA -ban egy módja annak, hogy kiválassza az összes olyan cellát, amely egy olyan tartományban található, amellyel érdemes dolgozni. Mindaddig, amíg a tartományon belüli cellák egymást követik vagy „érintik” egymást, a CurrentRégió kiválasztja a régió minden celláját.

CurrentRégió szintaxisa

A szintaxis nagyon egyszerű:

1 Tartomány ("E11"). CurrentRegion.Select

ahol megadhatja azt a cellát, amelynek jelenlegi régióját ki akarta választani, majd a CurrentRegion.Select tulajdonság a cellák tartományának kiválasztásához.

Az aktuális régió megszerzése

Tekintsük a következő munkalapot.

a következő alfolyamat kiválasztja az adatbázis összes celláját

1234567 Sub FindCurrentRegion ()Dim rng mint tartomány'állítsa be a tartományt az E11 celláraÁllítsa be az rng = tartományt ("E11")'válassza ki az aktuális régiótrng.CurrentRegion.SelectEnd Sub

Ha futtatjuk a rutint, az összes sejt a CurrentRégió az E11 cella ki lesz választva.

Ha eltávolítjuk a szomszédos cellák tartalmát, és újra futtatjuk a rutint, akkor a következő lesz kiválasztva aktuális régióként.

Ha azonban még több adatot távolítunk el, az alábbi példával végezhetjük el az E11 cella jelenlegi régióját.

Ha a D13 -ba információkat teszünk, a következőket kapjuk:

Az CurrentRégió ezért visszaad egy másikat hatótávolság objektum, amelyet az Ön által megadott tartományt körülvevő legkisebb foglalt oszlopok és sorok kombinációja határoz meg.

A sorok és oszlopok számlálása az aktuális régióban

Tudjuk használni CurrentRégió hogy megszámolja a sorokat és az oszlopokat.

12345678910111213 Sub FindCurrentRegion ()Dim rng mint tartományDim iRw mint egészDim iCol mint egész'állítsa be a tartománytÁllítsa be az rng = tartományt ("E11")'számold a sorokatiRw = rng.CurrentRegion.Rows.Count'számolja az oszlopokatiCol = rng.CurrentRegion.Columns.Count'jelenítse meg az eredményt egy üzenetmezőbenMsgBox ("Vannak" & iRw & "sorok és" & iCol & "oszlopok a jelenlegi régióban")End Sub

Ha végrehajtjuk az eljárást, a következő üzenetmező jelenik meg.

Az aktuális régió törlése

Az aktuális régió tulajdonságát is használhatjuk a cellák tartományának törlésére.

123456 Sub ClearCurrentRegion ()Dim rng mint tartomány'állítsa be a tartománytÁllítsa be az rng = tartományt ("E11")rng.JelenlegiRégió.TisztaEnd Sub

Az aktuális régió hozzárendelése egy változóhoz

A teljes aktuális régiót hozzárendelhetjük egy tartományváltozóhoz is, majd a tartományváltozóval manipulálhatjuk a cellákat - legyen szó a cellák formázásáról, a cellák rendezéséről stb.

12345678910 Sub AssignCurrentRegionToVariable ()Dim rng mint tartomány'állítsa be a tartományt az E11 aktuális régiójábaSet rng = Range ("E11"). CurrentRégió'színezd ki a hátteret és a szövegetrng.Interior.Pattern = xlSolidrng.Interior.Color = 65535rng.Font.Bold = Igazrng.Font.Color = -16776961End Sub

Ha futtatjuk a fenti eljárást, akkor az alább látható munkalapot kapunk!

Kezdő és befejező cellák lekérése az aktuális régióban

Kicsit bonyolultabb kóddal megkaphatjuk az aktuális régió első és utolsó celláját.

123456789101112131415161718 GetStartAndEndCells () alrészDim rng mint tartományDim iRw mint egészDim iCol mint egészHalvány iColStart, iColEnd, iRwStart, iRwEnd karakterláncként'állítsa be a tartományváltozót az E11 aktuális régiójábaSet rng = Range ("E11"). CurrentRégió'állítsa be a tartomány kezdő oszlopátiColStart = rng.Oszlop'szerezze be a tartomány végoszlopátiColEnd = iColStart + (rng.Oszlopok.szám - 1)'kapja meg a tartomány kezdősorátiRwStart = rng. Sor'kapja meg a tartomány végső sorátiRwEnd = iRwStart + (rng.Rows.Count - 1)'jelenítse meg a kezdő és befejező sorok és oszlopok címét egy üzenetmezőbenMsgBox ("A tartomány kezdete:" & Cells (iRwStart, iColStart) .Cím és "és a" & Cells (iRwEnd, iColEnd).End Sub

Amikor futtatjuk a fenti kódot, a következő üzenetmező jelenik meg

wave wave wave wave wave