VBA: n viimeinen rivi - Kuinka löytää viimeksi käytetty rivi Excelistä VBA-koodilla?

Sisällysluettelo:

Anonim

Excel VBA: n viimeinen rivi

Sarakkeen viimeisen rivin löytäminen on tärkeä osa makrojen kirjoittamisessa ja niiden dynaamisessa tekemisessä. Koska emme haluaisi päivittää solualueita aina silloin tällöin, kun työskentelemme Excel-soluviittausten kanssa. Kooderina / kehittäjänä haluaisit aina kirjoittaa dynaamisen koodin, jota voidaan käyttää mihin tahansa tietoon ja joka riittää vaatimukseesi. Lisäksi olisi aina hienoa, jos tiedät viimeisen rivin tiedoista, jotta voit muuttaa koodia dynaamisesti vaatimuksesi mukaan.

Huomautan vain yhtä esimerkkiä, joka toistaa dynaamisen koodin merkityksen.

Oletetaan, että minulla on alla olevat tiedot työntekijöistä ja heidän palkoistaan.

Katso alla oleva koodi:

Koodi:

 Alaesimerkki1 () Alue ("D2"). Arvo = WorksheetFunction.Sum (Alue ("B2: B11")) End Sub 

Tässä koodissa tulostetaan kaikkien solussa D2 olevien työntekijöiden (solu B2: B11 ) palkkojen summa. Katso alla oleva kuva:

Entä jos lisään joitain soluja näihin tietoihin ja suoritan tämän koodin uudelleen?

Loogisesti sanottuna yllä oleva koodi ei laske yhteen kaikkia sarakkeen B 14 riviä. Saman syyn arvo on alue, jonka olemme päivittäneet kohdassa WorksheetFunction (joka on B2: B11). Tästä syystä dynaaminen koodi, joka voi ottaa huomioon viimeisen täytetyn rivin, on meille tärkeämpi.

Tässä artikkelissa esitän joitain menetelmiä, joista voi olla hyötyä selvitettäessä tietyn tietojoukon viimeinen rivi VBA-koodilla.

Kuinka löytää viimeksi käytetty rivi sarakkeesta VBA: n avulla?

Alla on erilaisia ​​esimerkkejä eri menetelmillä viimeksi käytetyn sarakkeen rivin löytämiseksi Excelistä VBA-koodilla.

Voit ladata tämän VBA Last Row Excel -mallin täältä - VBA Last Row Excel Template

Esimerkki 1 - Range.End () -menetelmän käyttäminen

No, tämä menetelmä on sama kuin käyttämällä Ctrl + Alas-nuolta Excelissä siirtyäksesi viimeiseen tyhjään riviin. Noudata samanlaisia ​​rivejä noudattamalla seuraavia vaiheita koodin luomiseksi VBA: lla päästäksesi Excel-sarakkeen viimeiseen tyhjään sarakkeeseen.

Vaihe 1: Määritä muuttuja, jolla voi olla arvo viimeiselle tyhjälle Excel-sarakkeen riville.

Koodi:

 Alaesimerkki2 () himmentää viimeistä_riviä niin pitkään loppuosaan 

Tässä muuttuja Last_Row on määritelty LONG: ksi vain sen varmistamiseksi, että se pystyy ottamaan määrän argumentteja.

Vaihe 2: Käytä määritettyä muuttujaa pitämään viimeisen ei-tyhjän rivin arvo.

Koodi:

 Alaesimerkki2 () himmennä viimeistä_riviä niin kauan viimeksi_rivi = Lopeta alaosa 

Vaihe 3: Kirjoita koodi, joka alkaa CELLS (Rows.Count viimeisen rivin = eteen.

Koodi:

 Alaesimerkki2 () himmentää viimeistä_riviä niin pitkään viimeistä_riviä = solut (rivit.laskurin lopussa alaosa 

Vaihe 4: Mainitse 1 pilkun jälkeen yllä mainitussa koodissa. Arvonumero 1 on synonyymejä Excel-taulukon ensimmäiseen sarakkeeseen.

Koodi:

 Alaesimerkki2 () himmentää viimeistä_riviä niin pitkään viimeistä_riviä = solut (rivien lukumäärä, 1) loppu alaosaan 

Tämän koodin avulla VBA voi selvittää (tyhjien + ei-tyhjien) rivien kokonaismäärän Excel-taulukon ensimmäisessä sarakkeessa. Tämä tarkoittaa, että tämä koodi sallii järjestelmän siirtyä Excelin viimeiseen soluun.

Entä jos olette excelin viimeisessä solussa ja haluat mennä viimeiselle ei-tyhjälle riville? Käytät Ctrl + Nuoli ylös, eikö?

Samaa logiikkaa, jota aiomme käyttää seuraavassa koodirivissä.

Vaihe 5: Käytä lopetusnäppäimen ja xlUp- yhdistelmää siirtyäksesi viimeiseen tyhjään riviin Excelissä.

Koodi:

 Alaesimerkki2 () himmentää viimeistä_riviä niin pitkään viimeistä_riviä = solut (rivien lukumäärä, 1) .End (xlUp) loppu alaosa 

Tämä vie sinut excelin viimeiseen tyhjään riviin. Halusit kuitenkin samannimisen rivinumeron.

Vaihe 6: Käytä ROW-painiketta saadaksesi viimeisen ei-tyhjän rivin numero.

Koodi:

 Alaesimerkki2 () himmentää viimeistä_riviä niin kauan viimeksi_rivi = solut (rivien lukumäärä, 1) .Lopu (xlUp) .Rivin loppuosa 

Vaihe 7: Näytä viimeisen ei-tyhjän rivin sisältävän viimeisen rivin arvo MsgBoxilla.

Koodi:

 Alaesimerkki2 () himmentää viimeistä_riviä niin kauan viimeksi_rivi = solut (rivien lukumäärä, 1) .End (xlUp) .Row MsgBox viimeinen_rivi loppu alaosa 

Vaihe 8: Suorita koodi Suorita-painikkeella tai napsauttamalla F5 ja katso lähtö.

lähtö:

Vaihe 9: Poistamme nyt yhden rivin ja katsotaan, antaako koodi tarkan tuloksen vai ei. Se auttaa meitä tarkistamaan koodimme dynaamisuuden.

Esimerkki 2 - Range ja SpecialCells

Voimme käyttää myös VBA: n Range- ja SepcialCells-ominaisuuksia saadaksesi viimeisen ei-tyhjän rivin Excel-taulukosta.

Noudata alla olevia vaiheita saadaksesi viimeisen tyhjän rivin exceliin VBA-koodilla:

Vaihe 1: Määritä muuttuja uudelleen nimellä Pitkä.

Koodi:

 Alaesimerkki3 () himmentää viimeistä_riviä niin pitkään loppuosaan 

Vaihe 2: Aloita arvon tallentaminen muuttujaan Last_Row käyttämällä toimeksiantajaa.

Koodi:

 Alaesimerkki3 () himmennä viimeistä_riviä niin kauan viimeksi_rivi = Lopeta alaosa 

Vaihe 3: Aloita kirjoitusalue (“A: A”) .

Koodi:

 Alaesimerkki3 () himmentää viimeistä_riviä niin pitkään viimeistä_riviä = alue ("A: A") loppu alaosaan 

Vaihe 4: Käytä SpecialCells-toimintoa viimeisen ei-tyhjän solun selvittämiseksi.

Koodi:

 Alaesimerkki3 () himmentää viimeistä_riviä niin kauan viimeksi_rivi = alue ("A: A") .Erityskennot (xlCellTypeLastCell) lopeta alaosa 

Tämä toiminto SpecialCells valitsee viimeisen solun excelistäsi, kun suluihin kirjoitetaan ( xlCellTypeLastCell sallii viimeisen tyhjän solun valitsemisen Excel- taulukosta ).

Vaihe 5: Käytä nyt ROW-painiketta saadaksesi viimeinen rivi excel-arkistasi.

Koodi:

 Alaesimerkki3 () himmentää viimeistä_riviä niin kauan viimeksi_rivi = Alue ("A: A") .Erityskennot (xlCellTypeLastCell) .Row End Sub 

Tämä palauttaa viimeisen tyhjän rivin sinulle excelistäsi.

Vaihe 6: Nyt määritä tämä Last_Row-arvo MsgBoxiin, jotta näemme viimeisen ei-tyhjän rivin numeron viestiruudussa.

Koodi:

 Alaesimerkki3 () himmentää viimeistä_riviä niin kauan viimeksi_rivi = Alue ("A: A") .Erityskennot (xlCellTypeLastCell) .Row MsgBox Last_Row End Sub 

Vaihe 7: Suorita koodi napsauttamalla vasemman kulman yläosaan asetettua F5- tai Suorita-painiketta.

lähtö:

Voit nähdä, että viimeinen ei-tyhjä solunumero aukeaa MsgBoxin kautta sarakkeeseen A viitaten. Koska olemme maininneet sarakkeen A alue-toiminnossa määritellessään muuttujan kaavaa.

Vaihe 8: Jos poistamme rivin ja voimme suorittaa tämän kaavan. Katsotaan, mitä tapahtuu.

Voit nähdä, että järjestelmä on edelleen antanut rivimääräksi 14. Vaikka olen poistanut rivin ja todellinen rivimäärä on 13, järjestelmä ei ole kaapannut rivien lukumäärää oikein. Jotta järjestelmä voi tallentaa todellisen rivimäärän, sinun on tallennettava laskentataulukko ja suoritettava koodi uudelleen.

Voit nähdä todellisen rivimäärän näkyvän tässä kuvakaappauksessa.

Esimerkki 3 - Range.Find ()

Noudata alla olevia vaiheita saadaksesi viimeisen tyhjän rivin exceliin VBA-koodilla:

Vaihe 1: Määritä muuttuja niin kauan.

Koodi:

 Alaesimerkki4 () himmentää viimeistä_riviä niin pitkään loppuosaan 

Vaihe 2: Käytä nyt seuraavaa koodia nähdäksesi viimeisen ei-tyhjän rivin.

Koodi:

 Alaesimerkki4 () himmentää viimeistä_riviä niin kauan viimeksi_riviä = Solut.Find (mitä: = "*", _ jälkeen: = alue ("A1"), _ LookAt: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlTuotettu, _ MatchCase: = Väärä) .Row End Sub 

Täältä FIND-toiminto etsii ensimmäisen ei-tyhjän solun. Asterisk (*) on jokerimerkkioperaattori, joka auttaa sen selvittämisessä.

Alkaen solusta A1, järjestelmä palaa takaisin arkin viimeiseen soluun ja etsii taaksepäin (xlPrevable). Se siirtyy oikealta vasemmalle (xlByRows) ja silmukoi ylös samalla arkilla kaikkien samanlaisilla riveillä olevien rivien läpi, kunnes se löytää tyhjän rivin (katso .ROW koodin lopussa).

Vaihe 3: Tallenna MsgBox-sovelluksella viimeisen ei-tyhjän rivin arvo ja näet se ponnahdusikkuna.

Koodi:

 Alaesimerkki4 () himmentää viimeistä_riviä niin kauan viimeksi_riviä = Solut.Find (mitä: = "*", _ jälkeen: = alue ("A1"), _ LookAt: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlTuotettu, _ MatchCase: = Väärä) .Row MsgBox Last_Row End Sub 

Vaihe 4: Suorita koodi ja näe lähtö pop-up-ruuduna, joka sisältää viimeisen ei-tyhjän rivinumeron.

lähtö:

Muistettavat asiat

  • End (esimerkki1) voidaan käyttää tietyn sarakkeen ensimmäisen tyhjän solun / rivin tai viimeisen ei-tyhjän solun / rivin selvittämiseen VBA-koodilla.
  • Pää toimii suurimmaksi osaksi yhdellä sarakkeella. Jos sinulla on tietoja alueilla, olisi vaikea päättää, mitä saraketta tulisi käyttää viimeisen ei-tyhjän rivin selvittämiseen.
  • Etsi (esimerkki 3) toimii koko alueella aloituskohdasta ja löytää viimeisen ei-tyhjän solun / rivin tietystä sarakkeesta VBA-koodin avulla. Sitä voidaan käyttää myös viimeisen ei-tyhjän sarakkeen selvittämiseen.

Suositellut artikkelit

Tämä on opas VBA: n viimeiseen riviin. Tässä keskustellaan siitä, kuinka löytää viimeinen käytetty rivi tietystä sarakkeesta sekä joitain käytännöllisiä esimerkkejä ja ladattavaa Excel-mallia. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Kuinka käyttää VBA Insert -saraketta?
  2. Kuinka valita Excel-rivejä ja -sarakkeita?
  3. Yleiskatsaus VBA Range -soluihin
  4. Kuinka lisätä soluja Exceliin?