VBA kasutatud vahemik - Kuidas leida kasutatud ridade ja veergude arv?

Lang L: none (table-of-contents)

Nagu nimest võib järeldada, on UsedRange vahemikud, mis mingisuguste väärtustena nendes ei sisalda tühjad lahtrid kasutatavates vahemikes, nii et VBA-s Kasutatud vahemikud on VBA-s vahemikuobjekti omadus read ja veerud, mis pole tühjad ja millel on mõned väärtused.

Kasutatud vahemik VBA Excelis

VBA-s UsedRange on töölehe omadus, mis tagastab konkreetse töölehe kasutatava vahemiku (kõik kasutatud Exceli lahtrid või täidetud töölehel) vahemikuobjekti. See on omadus, mis tähistab ala, mis on kaetud või piiratud ülal vasakul kasutatud lahtrite ja viimati paremal kasutatud lahtritega töölehel.

Saame kirjeldada 'Kasutatud lahtrit' lahtrina, mis sisaldab mis tahes valemit, vormingut, väärtust jms. Samuti saame valida viimati kasutatud lahtri, vajutades klaviatuuril klahve CTRL + END.

Järgnevalt on kasutatud töölehe illustratsioon UsedRange:

Ülaltoodud ekraanipildilt näeme, et UsedRange on A1: D5.

Exceli VBA UsedRange Property näited

Vaatame allpool mõningaid näiteid, et näha, kuidas töölehe atribuuti UsedRange saab kasutada VBA-s kasutatud vahemiku leidmiseks:

Näide 1

Oletame, et meil on Exceli fail, mis sisaldab kahte töölehte, ja soovime leida ja valida Sheet1-st kasutatud vahemik.

Vaatame, mida Sheet1 sisaldab:

Selle ülesande täitmiseks kasutame aknas VBA Vahetu atribuuti UsedRange. VBA vahetu aken on tööriist, mis aitab saada teavet Exceli failide kohta, käivitada või siluda mis tahes VBA-koodi isegi siis, kui kasutaja ei kirjuta ühtegi makrot. See asub Visual Basicu redaktoris ja sellele pääseb juurde järgmiselt:

  • Minge vahekaardile Arendaja Excel ja klõpsake siis Visual Basic Editor või vajutage Visual Basic Editori akna avamiseks Alt + F11 .

Seda tehes avaneb järgmine aken:

  • Vahetu akna avamiseks vajutage klahvikombinatsiooni Ctrl + G ja sisestage kood.

Kohene aken näeb välja selline:

  • Järgmine kood valib lehel1 kasutatud vahemiku.

Kood:

? Töölehed ("Sheet1"). Aktiveerige True? ActiveSheet.UsedRange. Valige True

Koodi esimene käsk aktiveerib faili Sheet1 ja teine ​​lause valib aktiivses lehes kasutatud vahemiku.

Selle koodi kirjutamisel näeme, et tabelis 1 kasutatav vahemik valitakse järgmiselt:

Näide 2

Oletame, et selles näites soovime leida tabelis 1 kasutatud ridade koguarvu. Selleks järgime alltoodud samme:

  • Looge moodulis makro nimi.

Kood:

Alamread () Lõpp alamrühm
  • Määratlege muutuja TotalRow täisarvuna VBA-s:

Kood:

Sub TotalRows () Dim TotalRow Integer End Sub
  • Nüüd määrake muutuja TotalRow koos valemiga ridade koguarvu arvutamiseks:

Kood:

Sub TotalRows () Dim TotalRow kui täisarv TotalRow = ActiveSheet.UsedRange.Rows.Count End Sub
  • Nüüd saab TotalRow tulemuseks oleva väärtuse kuvada ja tagastada VBA teatekasti (MsgBox) abil järgmiselt:

Kood:

Sub TotalRows () Dim TotalRow kui täisarv TotalRow = ActiveSheet.UsedRange.Rows.Count MsgBox TotalRow End Sub
  • Nüüd käivitame selle koodi käsitsi või vajutades klahvi F5 ja saame teatekastis kuvatud Sheet1-s kasutatud ridade koguarvu järgmiselt:

Niisiis näeme ülaltoodud ekraanipildil, et sõnumikasti tagastatakse "5" ja nagu näeme Sheet1-s, on kasutatud vahemiku ridade koguarv 5.

Näide # 3

Samamoodi, kui soovime leida Sheet1-s kasutatud veergude koguarvu, järgime samu samme nagu eespool, välja arvatud koodis tehtud väike muudatus järgmiselt:

Kood:

Sub TotalCols () Dim TotalCol täisarvuna TotalCol = ActiveSheet.UsedRange.Columns.Count MsgBox TotalCol End Sub

Nüüd, kui käivitame selle koodi käsitsi või vajutades klahvi F5, näeme teatekastis Sheet1-s kasutatud veergude koguarvu järgmiselt:

Niisiis tagastatakse sõnumikasti '4' ja nagu näeme Sheet1-l, on veergude koguarv kasutatud vahemikus 4.

Näide 4

Oletame, et soovime leida faili Sheet2-st viimati kasutatud rea ja veeru numbri. Vaatame, mida Sheet2 sisaldab:

Selleks järgime järgmisi samme:

  • Looge moodulis makro nimi.

Kood:

Sub LastRow () Lõpeta alam
  • Määratlege muutuja LastRow täisarvuna.

Kood:

Sub LastRow () Tühjendage LastRow täisarvu lõppsummana
  • Nüüd määrake muutuja LastRow koos valemiga viimati kasutatud rea numbri arvutamiseks:

Kood:

Sub LastRow () Dim LastRow kui täisarv LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Rida End Sub

Exceli VBA meetod SpecialCells tagastab vahemiku objekti, mis esindab ainult määratud lahtritüüpe. SpecialCellsi meetodi süntaks on järgmine:

RangeObject.SpecialCells (tüüp, väärtus)

Ülaltoodud koodis tähistab xlCellTypeLastCell: viimast lahtrit kasutatud vahemikus.

Märkus: 'xlCellType' sisaldab isegi tühje lahtrid, mille kõigi lahtrite vaikevormingut on muudetud.
  • Nüüd saab LastRow numbri tulemuseks oleva väärtuse kuvada ja tagastada sõnumikasti (MsgBox) abil järgmiselt:

Kood:

Sub LastRow () Dim LastRow Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Rida MsgBox LastRow End Sub
  • Nüüd käivitame selle koodi käsitsi või vajutades klahvi F5 ja saame viimati kasutatud lehenumbri lehel 2 kuvatud sõnumikasti järgmiselt:

Niisiis näeme ülaltoodud ekraanipildil, et sõnumikasti tagastatakse "12" ja nagu näeme Sheet2-s, on viimati kasutatud rea number 12.

Samamoodi, kui soovime leida lehelt2 viimati kasutatud veeru numbri, järgime samu samme nagu eespool, välja arvatud koodis tehtud väike muudatus järgmiselt:

Kood:

Sub LastCol () Dim LastCol kui täisarv LastCol = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Veerg MsgBox LastCol End Sub

Nüüd, kui käivitame selle koodi käsitsi või vajutades klahvi F5, kuvatakse teatekastis Sheet2-s viimati kasutatud veeru number järgmiselt:

Niisiis näeme ülaltoodud ekraanipildil, et sõnumikasti tagastatakse "3" ja nagu näeme Sheet2-s, on viimati kasutatud veeru number 3.

VBA UsedRange'i kohta meeles pidatavad asjad

  • VBA UsedRange on ristkülikukujuline vahemik.
  • VBA UsedRange sisaldab lahtreid, millel on mingeid andmeid või mida vormindatakse jne.
  • Exceli VBA UsedRange ei pruugi ilmuda töölehe vasakus ülanurgas.
  • UsedRange ei pea aktiivset lahtrit tingimata kasutatuks.
  • Kasutatud vahemiku abil saab leida VBA-st viimati kasutatud rea ja lähtestada kasutatud vahemik jne.
  • Klõpsates kiirklahve Exceli klahve CTRL + SHIFT + ENTER, saab valikut laiendada aktiivsest lahtrist töölehe viimati kasutatud lahtrini.

Huvitavad Artiklid...