Exceli VBA viimane rida

Veeru viimase rea leidmine on makrode kirjutamisel ja nende dünaamiliseks muutmisel oluline aspekt. Kuna me ei eelistaks aeg-ajalt lahtrivahemikke värskendada, kui töötame Exceli lahtri viidetega. Kuna olete kodeerija / arendaja, eelistaksite alati kirjutada dünaamilist koodi, mida saab kasutada mis tahes andmete jaoks ja mis on teie nõudest piisav. Lisaks oleks alati tore, kui teie andmetest oleks teada viimane rida, et saaksite koodi vastavalt oma nõudele dünaamiliselt muuta.

Toon lihtsalt ühe näite, mis kordab dünaamilise koodi olulisust.

Oletame, et mul on allpool toodud andmed töötajate ja nende töötasude kohta.

Ja vaadake allolevat koodi:

Kood:

 Alamnäide1 () Vahemik ("D2"). Väärtus = WorksheetFunction.Sum (Range ("B2: B11")) End Sub 

Siin prindib see kood lahtris D2 kõigi töötajate (lahter B2: B11 ) palkade summa. Vaadake allolevat pilti:

Mis siis saab, kui lisan nendesse andmetesse mõned lahtrid ja käivitan selle koodi uuesti?

Loogiliselt võttes ei liita ülaltoodud kood veeru B kõiki 14 rida. Sama põhjuseks on vahemik, mida oleme värskendanud WorksheetFunctioni all (see on B2: B11). See on põhjus, dünaamiline kood, mis võib arvestada viimast täidetud rida, on meie jaoks veelgi olulisem.

Selles artiklis tutvustan mõnda meetodit, millest võib olla kasu VBA-koodi abil antud andmestiku viimase rea väljaselgitamisel.

Kuidas leida VBA-st veerus viimati kasutatud rida?

Allpool on toodud erinevad näited erinevate meetoditega, et leida Excelis VBA-koodi abil viimati kasutatud veeru rida.

Selle VBA viimase rea Exceli malli saate alla laadida siit - VBA viimase rea Exceli mall

Näide nr 1 - Range.End () meetodi kasutamine

Noh, see meetod on sama, kui kasutada Excelis Ctrl + Nool alla, et minna viimasele mittetühjale reale. Sarnastel ridadel järgige VBA-s koodi loomiseks järgmisi samme, et jõuda Exceli veeru viimasele mittetühjale reale.

1. samm: määrake muutuja, mille väärtus võib olla Exceli veeru viimane mittetühi rida.

Kood:

 Alamnäide2 () Tühjenda viimane_rida kui pikk lõpp 

Siin määratletakse muutuja Last_Row kui LONG ainult selleks, et veenduda, et see suudab võtta suvalist arvu argumente.

2. samm: kasutage määratletud muutujat viimase mittetühja rea ​​väärtuse hoidmiseks.

Kood:

 Alamnäide2 () Tühjenda Viimane_rida Nii kaua Viimane_rühm = Lõpeta alam 

3. samm. Tippige kood, mis algab lahtritega CELLS (Ridade arv.Järgmise rea ees = .

Kood:

 Alamnäide 2 () Tühjenda viimast_rida nii kaua kui viimane_rühm = lahtrid (read 

4. samm: mainige ülaltoodud koodis koma järel 1. Väärtus arv 1 on sünonüümid Exceli lehe esimesse veergu.

Kood:

 Alamnäide2 () Tühjenda Viimane_rida Nii kaua Viimane_rühm = Lahtrid (Ridade arv, 1) Lõpeta alamhulk 

See kood võimaldab VBA-l teada saada Exceli töölehe esimeses veerus olevate (tühjade + mittetühjade) ridade koguarvu. See tähendab, et see kood võimaldab süsteemil minna Exceli viimasesse lahtrisse.

Mis siis saab, kui olete exceli viimases lahtris ja soovite minna viimase mittetühja rea ​​juurde? Kasutad Ctrl + Nool üles, eks?

Sama loogikat, mida hakkame kasutama järgmisel koodiridadel.

5. samm: Exceli viimase mittetühja rea ​​juurde minemiseks kasutage klahvi End ja xlUp kombinatsiooni.

Kood:

 Alamnäide2 () Tühjenda Viimane_rida Nii kaua Viimane_rühm = Lahtrid (Ridade arv, 1). Lõpp (xlUp) Lõpp Alam 

See viib teid Exceli viimasele mittetühjale reale. Sellegipoolest soovisite rea numbrit.

6. samm: viimase mittetühja rea ​​rea ​​numbri saamiseks kasutage nuppu ROW.

Kood:

 Alamnäide2 () Tühjenda Viimane_rida Nii kaua Viimane_rühm = Lahtrid (Ridade arv, 1). Lõpp (xlUp). 

7. samm: näidake MsgBoxi abil viimase_tühja rea ​​numbrit sisaldava Last_Row väärtus.

Kood:

 Alamnäide2 () Tühjenda Viimane_rida Kui Pikk Viimane_rühm = Lahtrid (Ridade arv, 1) .Lõpp (xlUp) .Rida MsgBox Viimane_rühm Lõpp Alam 

8. samm: käivitage kood nupu Run abil või vajutades nuppu F5 ja vaadake väljundit.

Väljund:

9. samm: nüüd kustutame ühe rea ja vaatame, kas kood annab täpse tulemuse või mitte. See aitab meil kontrollida meie koodi dünaamikat.

Näide 2 - Range ja SpecialCells kasutamine

Samuti võime kasutada VBA omadusi Range ja SepcialCells, et saada exceli lehe viimane mittetühi rida.

Järgige järgmisi samme, et saada VBA-koodi abil excelisse viimane mittetühi rida:

1. samm: määrake muutuja uuesti kui Pikk.

Kood:

 Alamnäide3 () Tühjenda viimane_rida kui pikk lõpp 

2. samm: alustage väärtuse Operaatori abil muutuja Last_Row salvestamist.

Kood:

 Alamnäide3 () Tühjenda Viimane_rida Nii kaua Viimane_rühm = Lõpeta alam 

3. samm: alustage tippimisvahemikku (“A: A”) .

Kood:

 Alamnäide3 () Tühjenda Viimane_rida Nii pikk Viimane_rühm = Vahemik ("A: A") Lõpp-alam 

4. samm. Viimase mittetühja lahtri leidmiseks kasutage funktsiooni SpecialCells.

Kood:

 Alamnäide3 () timmib viimast_rida nii kaua kui viimane_rühm = vahemik ("A: A"). Erikellid (xlCellTypeLastCell) lõpp alamriik 

See funktsioon SpecialCells valib sulgudesse kirjutatud excelist viimase lahtri ( xlCellTypeLastCell võimaldab valida teie exceli lehelt viimase mittetühja lahtri).

5. samm. Nüüd kasutage ROW, et saada exceli lehelt viimane rida.

Kood:

 Alamnäide3 () Tühjenda Viimane_rida Kui Pikk Viimane_Roor = Vahemik ("A: A"). SpecialCellid (xlCellTypeLastCell) .Row End Sub 

See tagastab teie excelist viimase mittetühja rea.

6. samm: määrake see väärtus Last_Row väärtusele MsgBox nii, et me näeksime sõnumikastis viimast mittetühja rea ​​numbrit.

Kood:

 Alamnäide3 () Tühjenda Viimane_rida Kui Pikk Viimane_Roor = Vahemik ("A: A"). SpecialCellid (xlCellTypeLastCell) .Row MsgBox Last_Row End Sub 

7. samm. Käivitage kood, vajutades vasaku nurga ülaosas asuvale nupule F5 või Käivita.

Väljund:

Näete, et viimane mittetühi lahtri number hüpitakse MsgBoxi kaudu läbi veeru A. Kuna oleme muutuja valemi määratlemisel maininud veergu A vahemiku funktsiooni all.

8. samm: kui kustutame rea ja saame selle valemi käivitada. Vaatame mis juhtub.

Näete, et süsteem on ikka andnud ridade arvu 14. Ehkki olen rea kustutanud ja reaalne reaarv on 13, pole süsteem reaarvu täpselt registreerinud. Selleks, et süsteem tegelikku reaarvu jäädvustaks, peate töölehe salvestama ja koodi uuesti käivitama.

Näete, kui palju ekraanil kuvatakse reaalset reaarvu.

Näide 3 - Range.Find () kasutamine

Järgige järgmisi samme, et saada VBA-koodi abil excelisse viimane mittetühi rida:

1. samm: määrake muutuja nii pikk.

Kood:

 Alamnäide4 () Tühjenda viimane_rida kui pikk lõpp 

2. samm: kasutage järgmist mittetühja rea ​​kuvamiseks järgmist koodi.

Kood:

 Alamnäide4 () Tühjendage viimast_rida kui kaua viimast_rida = Lahtrid.Peida (Mis: = "*", _ Pärast: = Vahemik ("A1"), _ Vaatlus: = xlPart, _ Vaata:: xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlEelmine, _ MatchCase: = Vale) .Row End Sub 

Funktsioon FIND otsib siin esimest mittetühja lahtrit. Tärn (*) on metamärkidega operaator, mis aitab selle välja selgitada.

Alustades lahtrist A1, naaseb süsteem lehelt viimase lahtri juurde ja otsib tagasisuunas (xlPrevable). See liigub paremalt vasakule (xlByRows) ja aheldub samal lehel läbi kõigi sarnaste ridade ridade, kuni see leiab tühja rea ​​(vt koodi lõpus olevat .ROW).

3. samm. Kasutage rakendust MsgBox, et salvestada viimase mittetühja rea ​​väärtus ja näha seda hüpikkastina.

Kood:

 Alamnäide4 () Tühjendage viimast_rida kui kaua viimast_rida = Lahtrid.Peida (Mis: = "*", _ Pärast: = Vahemik ("A1"), _ Vaatlus: = xlPart, _ Vaata:: xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlEelmine, _ MatchCase: = Vale) .Row MsgBox Last_Row End Sub 

4. samm: käivitage kood ja vaadake väljundit hüpikkastina, mis sisaldab viimast mittetühja rea ​​numbrit.

Väljund:

Asjad, mida meeles pidada

  • Lõppt (näide 1) saab kasutada VBA-koodi abil antud veeru esimese tühja lahtri / rea või viimase mittetühja lahtri / rea leidmiseks.
  • Ots töötab enamasti ühe veeru peal. Kui teil on andmeid vahemikes, oleks keeruline otsustada, millist veergu tuleks kasutada viimase mittetühja rea ​​leidmiseks.
  • Leidmine (näide 3) töötab kogu vahemikus alguspunktist ja leiab VBA-koodi abil antud veerus viimase mittetühja lahtri / rea. Seda saab kasutada ka viimase mittetühja veeru välja selgitamiseks.

Soovitatavad artiklid

See on VBA viimase rea juhend. Siin arutame, kuidas leida antud veerust viimati kasutatud rida koos mõne praktilise näite ja allalaaditava excelimalliga. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Kuidas kasutada VBA insert-veergu?
  2. Kuidas valida Exceli ridu ja veerge?
  3. Ülevaade VBA vahemiku lahtritest
  4. Kuidas lisada rakke Excelis?

Kategooria: