VBA käytetty alue | Kuinka löytää käytettyjen rivien ja sarakkeiden määrä?
UsedRange, kuten nimestä voi päätellä, ovat alueita, jotka tyhjinä soluina eivät sisällä minkäänlaista arvoa niissä, joten VBA: n Käytetyt alueet on VBA: n alueobjektin ominaisuus niille solualueille rivit ja sarakkeet, jotka eivät ole tyhjiä ja joissa on joitain arvoja.
UsedRange VBA Excelissä
VBA: n UsedRange on laskentataulukon ominaisuus, joka palauttaa alueobjektin, joka edustaa tietyn laskentataulukon käytettyä aluetta (kaikki käytetyt Excel-solut tai täytetyt laskentataulukossa). Se on ominaisuus, joka edustaa aluetta, jonka peittävät tai rajaavat vasemmassa yläkulmassa käytetyt solut ja viimeiset oikealla käytetyt solut laskentataulukossa.
Voimme kuvata 'Käytetty solu' soluna, joka sisältää minkä tahansa kaavan, muotoilun, arvon jne. Voimme myös valita viimeksi käytetyn solun painamalla näppäimistön CTRL + END-näppäimiä.
Seuraava on esimerkki UsedRange-taulukosta:
Yllä olevasta kuvakaappauksesta voidaan nähdä, että UsedRange on A1: D5.
Esimerkkejä Excel VBA UsedRange -ominaisuudesta
Katsotaanpa joitain alla olevia esimerkkejä siitä, miten laskentataulukon UsedRange-ominaisuutta voidaan käyttää käytetyn alueen löytämiseen VBA: ssa:
Voit ladata tämän VBA UsedRange Excel -mallin täältä - VBA UsedRange Excel -malliEsimerkki 1
Sanotaan, että meillä on Excel-tiedosto, joka sisältää kaksi laskentataulukkoa, ja haluamme löytää ja valita käytetyn alueen Sheet1: stä.
Katsotaanpa, mitä Taulukko1 sisältää:
Tämän tehtävän suorittamiseen käytämme VBA: n välittömässä ikkunassa olevaa UsedRange-ominaisuutta. VBA: n välitön ikkuna on työkalu, joka auttaa saamaan tietoja Excel-tiedostoista, suorittamaan tai testaamaan nopeasti VBA-koodia, vaikka käyttäjä ei kirjoita makroja. Se sijaitsee Visual Basic Editorissa ja siihen pääsee seuraavasti:
- Siirry Kehittäjä-välilehteen Excel ja napsauta sitten Visual Basic Editor tai avaa Visual Basic Editor -ikkuna painamalla Alt + F11 .
Tätä tehtäessä ikkuna avautuu seuraavasti:
- Avaa välitön ikkuna painamalla Ctrl + G ja kirjoita koodi.
Välitön ikkuna näyttää tältä:
- Seuraava koodi valitsee käytetyn alueen Sheet1: ssä
Koodi:
? Laskentataulukot ("Sheet1"). Aktivoi True? ActiveSheet.UsedRange.Valitse True
Koodin ensimmäinen lause aktivoi tiedoston Sheet1: n ja toinen käsky valitsee aktiivisen taulukon käytetyn alueen.
Tätä koodia kirjoitettaessa näemme, että Taulukossa 1 käytetty alue valitaan seuraavasti:
Esimerkki 2
Oletetaan, että tässä esimerkissä haluamme löytää taulukossa 1 käytettyjen rivien kokonaismäärän. Voit tehdä tämän seuraamalla seuraavia vaiheita:
- Luo makron nimi moduuliin.
Koodi:
Sub TotalRows () Loppu Sub
- Määritä muuttuja TotalRow kokonaislukuna VBA: ssa:
Koodi:
Sub TotalRows () Dim TotalRow kuin kokonaisloppu Sub
- Määritä nyt muuttuja TotalRow kaavan avulla laskeaksesi rivien kokonaismäärän:
Koodi:
Sub TotalRows () Dim TotalRow kokonaislukuna TotalRow = ActiveSheet.UsedRange.Rows.Count End Sub
- Tuloksena oleva TotalRow-arvo voidaan nyt näyttää ja palauttaa VBA-viestiruudun (MsgBox) avulla seuraavasti:
Koodi:
Sub TotalRows () Dim TotalRow kokonaislukuna TotalRow = ActiveSheet.UsedRange.Rows.Count MsgBox TotalRow End Sub
- Suoritamme tämän koodin nyt manuaalisesti tai painamalla F5-näppäintä, jolloin Sheet1: ssä käytettyjen rivien kokonaismäärä näytetään viestiruudussa seuraavasti:
Joten voimme nähdä yllä olevasta kuvakaappauksesta, että '5' palautetaan viestiruutuun, ja kuten voimme nähdä Sheet1: ssä, käytetyn alueen rivien kokonaismäärä on 5.
Esimerkki 3
Vastaavasti, jos haluamme löytää Sheet1: ssä käytettyjen sarakkeiden kokonaismäärän, noudatamme samoja vaiheita kuin edellä lukuun ottamatta pientä muutosta koodissa seuraavasti:
Koodi:
Sub TotalCols () Dim TotalCol kokonaislukuna TotalCol = ActiveSheet.UsedRange.Columns.Count MsgBox TotalCol End Sub
Kun suoritamme tämän koodin manuaalisesti tai painamalla F5, saat Sheet1: ssä käytettyjen sarakkeiden kokonaismäärän viestiruutuun seuraavasti:
Joten '4' palautetaan viestiruutuun, ja kuten voimme nähdä Sheet1: ssä, käytetyn alueen sarakkeiden kokonaismäärä on 4.
Esimerkki 4
Oletetaan nyt, että haluamme löytää viimeksi käytetyn rivin ja sarakkeen numeron tiedoston Sheet2: sta. Katsotaanpa, mitä Sheet2 sisältää:
Voit tehdä tämän seuraamalla seuraavia vaiheita:
- Luo makron nimi moduuliin.
Koodi:
Sub LastRow () End Sub
- Määritä muuttuja LastRow kokonaislukuna.
Koodi:
Sub LastRow () Himmennä LastRow kokonaisloppuna Sub Sub
- Määritä nyt muuttuja LastRow kaavan avulla laskemaan viimeksi käytetty rivinumero:
Koodi:
Sub LastRow () Dim LastRow kuin kokonaisluku LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Rivin loppu Sub
Excel VBA: n SpecialCells-menetelmä palauttaa alueobjektin, joka edustaa vain määritettyjä solutyyppejä. SpecialCells-menetelmän syntaksi on:
RangeObject.SpecialCells (tyyppi, arvo)
Yllä olevassa koodissa xlCellTypeLastCell: edustaa viimeistä solua käytetyllä alueella.
Huomaa: 'xlCellType' sisältää jopa tyhjät solut, joiden solujen oletusmuotoa on muutettu.- Nyt tuloksena oleva LastRow-numeron arvo voidaan näyttää ja palauttaa viestiruudun (MsgBox) avulla seuraavasti:
Koodi:
Sub LastRow () Dim LastRow kuin kokonaisluku LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Rivi MsgBox LastRow End Sub
- Suoritamme tämän koodin nyt manuaalisesti tai painamalla F5, ja saamme viimeisen käytetyn rivinumeron Sheet2: ssa Viestiruutuun seuraavasti:
Joten voimme nähdä yllä olevasta kuvakaappauksesta, että '12' palautetaan viestiruutuun, ja kuten näemme Sheet2: ssa, viimeksi käytetty rivinumero on 12.
Vastaavasti, jos haluamme löytää viimeksi käytetyn sarakkeen numeron Sheet2: sta, noudatamme samoja vaiheita kuin edellä lukuun ottamatta pientä muutosta koodissa seuraavasti:
Koodi:
Sub LastCol () Dim LastCol kokonaislukuna LastCol = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Column MsgBox LastCol End Sub
Kun suoritamme tämän koodin manuaalisesti tai painamalla F5, saamme viimeisen käytetyn sarakkeen numeron Sheet2: ssa viestiruutuun seuraavasti:
Joten voimme nähdä yllä olevasta kuvakaappauksesta, että '3' palautetaan viestiruutuun, ja kuten näemme Sheet2: ssa, viimeksi käytetty sarakkeen numero on 3.
Muistettavaa VBA UsedRange -sovelluksesta
- VBA UsedRange on suorakulmioalue.
- VBA UsedRange sisältää soluja, joilla on tietoja tai jotka alustetaan jne.
- Excel VBA UsedRange ei välttämättä sisällä laskentataulukon vasenta yläosaa.
- UsedRange ei välttämättä pidä aktiivista solua käytettynä.
- Käytettyä aluetta voidaan käyttää etsimään viimeksi käytetty rivi VBA: ssa ja nollaamaan käytetty alue jne.
- Painamalla pikanäppäimiä Excel-näppäimiä CTRL + VAIHTO + ENTER näppäimistöllä voidaan laajentaa valintaa aktiivisesta solusta laskentataulukon viimeksi käytettyyn soluun.