Huling Hilera ng VBA | Nangungunang 3 Mga Paraan upang Makahanap ng Huling Ginamit na Hilera?

Sa VBA kapag kailangan nating hanapin ang huling hilera maraming mga iba't ibang mga pamamaraan at ang pinaka-karaniwang ginagamit na pamamaraan ay ang End (XLDown) na pamamaraan at may iba pang mga pamamaraan tulad ng upang mahanap ang huling halaga gamit ang paghahanap ng function sa VBA, End (XLDown ). Ang hilera ay ang pinakamadaling paraan upang makarating sa huling hilera.

Excel VBA Huling Hilera

Kung ang pagsulat ng code ay ang unang pag-unlad na ginawa mo sa VBA kung gayon ang paggawa ng code na pabago-bago ay ang susunod na hakbang para sa iyo. Ang Excel ay puno ng mga sanggunian sa cell, sa sandaling mag-refer kami sa cell ay maaayos ito. Kung tumaas ang aming data kailangan naming bumalik sa sanggunian ng cell at baguhin ang mga sanggunian upang ma-update ang resulta.

Para sa isang halimbawa tingnan ang code sa ibaba.

Code:

 Sub Last_Row_Example1 () Saklaw ("D2"). Halaga = WorksheetFunction.Sum (Saklaw ("B2: B7")) Katapusan Sub 

Sinasabi ng code sa itaas sa halaga ng D2 cell ay dapat na ang pagbubuod ng Saklaw ("B2: B7").

Ngayon ay magdaragdag ako ng maraming mga halaga sa listahan.

Ngayon kung patakbuhin ko ang code, hindi ito bibigyan ng resulta ng mga pag-update sa halip ay nananatili pa rin ito sa dating saklaw ibig sabihin Saklaw ("B2: B7").

Dito ay napakahalaga ng Dynamic na code.

Sa proseso ng paggawa ng code na pabago-bago, ang paghahanap ng huling ginamit na hilera sa haligi ay napakahalaga. Sa artikulong ito, tatalakayin namin ang mga paraan ng paghahanap ng huling hilera sa Excel VBA.

Paano Makahanap ng Huling Nagamit na Hilera sa Hanay?

Nasa ibaba ang mga halimbawa upang mahanap ang huling ginamit na hilera sa Excel VBA.

Maaari mong i-download ang VBA Last Row Template na ito - VBA Last Row Template

Paraan # 1

Bago ko ipaliwanag sa iyo ang code, nais kong tandaan mo kung paano ka pumunta sa huling hilera sa normal na worksheet.

Gagamitin namin ang key ng shortcut Ctrl + down arrow.

Dadalhin kami sa huling ginagamit na hilera bago ang anumang walang laman na cell. Gagamitin din namin ang parehong pamamaraan sa VBA din upang mahanap ang huling hilera.

Hakbang 1: Tukuyin ang variable bilang MAHABA.

Code:

 Sub Last_Row_Example2 () Dim LR As Long 'Para sa pag-unawa sa LR = Last Row End Sub 

Hakbang 2: Para sa variable na ito, itatalaga namin ang huling ginamit na numero ng hilera.

Code:

 Sub Last_Row_Example2 () Dim LR As Long 'Para sa pag-unawa sa LR = Last Row LR = End Sub 

Hakbang 3: Isulat ang code bilang CELLS (Rows.Count,

Code:

 Sub Last_Row_Example2 () Dim LR As Long 'Para sa pag-unawa sa LR = Last Row LR = Cells (Rows.Count, End Sub 

Hakbang 4: Ngayon banggitin ang numero ng haligi bilang 1.

Code:

 Sub Last_Row_Example2 () Dim LR As Long 'Para sa pag-unawa sa LR = Last Row LR = Cells (Rows.Count, 1) End Sub 

CELLS (Rows.Count, 1) nangangahulugang bilangin kung gaano karaming mga hilera ang naroon sa unang haligi.

Sa gayon ang VBA code sa itaas ay magdadala sa amin sa huling hilera ng excel sheet.

Hakbang 5: Kung nasa huling cell kami ng sheet upang pumunta sa huling ginamit na hilera ay pipindutin namin ang key ng shortcut bilang Ctrl + Up Arrow susi

Sa VBA kailangan nating gamitin ang end key at pataas hal. End VBA xlUp

Code:

 Sub Last_Row_Example2 () Dim LR Hangga't 'Pag-unawa sa LR = Huling Hilera LR = Mga Cell (Rows.Count, 1). Pagtatapos (xlUp) Wakas na Sub 

Hakbang 6: Dadalhin kami nito sa huling ginamit na hilera mula sa ibaba. Ngayon kailangan namin ang row number ng ito. Kaya gamitin ang ROW ng ari-arian upang makuha ang numero ng hilera.

Code:

 Sub Last_Row_Example2 () Dim LR Hangga't 'Pag-unawa sa LR = Last Row LR = Cells (Rows.Count, 1). End (xlUp) .Row End Sub 

Hakbang 7: Ngayon hawak ng variable ang huling ginamit na numero ng hilera. Ipakita ang halaga ng variable na ito sa kahon ng mensahe sa VBA code.

Code:

 Sub Last_Row_Example2 () Dim LR Hangga't 'Pag-unawa sa LR = Last Row LR = Cells (Rows.Count, 1). End (xlUp) .Row MsgBox LR End Sub 

Patakbuhin ang code na ito gamit ang F5 key o mano-mano, ipapakita nito ang huling ginamit na hilera.

Output:

Ang huling ginamit na hilera sa worksheet na ito ay 13.

Ngayon tatanggalin ko ang isa pang linya at patakbuhin ang code at makita ang dynamism ng code.

Ok, ngayon ang resulta ay awtomatikong tumatagal sa huling hilera.

Ito ang kung ano ang Dynamic na VBA huling hilera code.

Tulad ng ipinakita ko sa naunang halimbawa palitan ang numero ng hilera mula sa isang numerong halaga sa LR.

Code:

 Sub Last_Row_Example2 () Dim LR Habang Mahaba 'Para sa pag-unawa sa LR = Last Row LR = Cells (Rows.Count, 1). End (xlUp) .Row Range ("D2"). Value = WorksheetFunction.Sum (Range ("B2: B "& LR)) Katapusan Sub 

Inalis ko ang B13 at idinagdag ang variable na pangalan na LR.

Ngayon hindi mahalaga kung gaano karaming mga hilera ang idaragdag mo awtomatiko itong kukuha ng na-update na sanggunian.

Paraan # 2

Mahahanap din namin ang huling hilera sa VBA sa pamamagitan ng paggamit ng Range object at espesyal na pag-aari ng mga cell ng VBA din.

Code:

 Sub Last_Row_Example3 () Dim LR As Long LR = Saklaw ("A: A"). SpecialCells (xlCellTypeLastCell) .Row MsgBox LR End Sub 

Binibigyan ka rin ng code ng huling ginamit na hilera. Halimbawa, tingnan ang larawan sa worksheet sa ibaba.

Kung patakbo ko ang code nang manu-mano o gumagamit ng F5 key na resulta ay magiging 12 dahil ang 12 ang huling ginagamit na hilera.

Output:

Ngayon ay tatanggalin ko ang ika-12 hilera at makita ang resulta.

Kahit na tinanggal ko ang isang hilera ipinapakita pa rin ang resulta bilang 12.

Upang maisagawa ang code na ito kailangan naming pindutin ang pindutang i-save pagkatapos ng bawat pagkilos, pagkatapos ang code na ito ay magbabalik ng tumpak na mga resulta.

Nai-save ko ang workbook at ngayon makita ang resulta.

Paraan # 3

Mahahanap namin ang huling hilera ng VBA sa ginamit na saklaw. Ibinabalik din ng code sa ibaba ang huling ginamit na hilera.

Code:

 Sub Last_Row_Example4 () Dim LR As Long LR = ActiveSheet.UsedRange.Rows (ActiveSheet.UsedRange.Rows.Count) .Row MsgBox LR End Sub 

Ibabalik din nito ang huling ginamit na hilera.

Output: