VBA XLUP - Ako používať VBA XLUP v programe Excel? (s príkladmi)

Excel VBA XLUP

Pri písaní kódu VBA musíte mať na pamäti jednu vec, čo robíte s bežným pracovným hárkom, a to isté môžete replikovať aj vo VBA. Jedno také kľúčové slovo v kódovaní VBA je v tomto článku „XLUP“. Ukážeme vám, čo je toto kľúčové slovo v kódovaní VBA a ako ho použiť v kódovaní.

Ako používať VBA XLUP v kódovaní?

Nasledujú príklady programu Excel VBA XLUP.

Príklad č. 1 - Presunutie buniek do vymazanej polohy buniek

Napríklad sa pozrite na scenár nižšie uvedených údajov, kde je potrebné odstrániť tieto údaje farebných buniek a viac údajov v riadkoch pod na vyššie uvedené údaje.

Jedným zo spôsobov, ako to v pracovnom hárku vymazať, je vybrať bunky, v ktorých môžeme jednoducho vymazať celý riadok. Ale tu sú situácie trochu zložité, pretože v tabuľke 1 mám zafarbené bunky, keď odstránime celý riadok, dokonca aj riadky tabuľky 2 sa odstránia, ale nechceme, aby sa to stalo; namiesto toho nám stačí vymazať farebné riadky a pod bunkami by sme sa mali posunúť nahor o pozíciu odstránených buniek.

Najskôr vyberte farebné bunky a stlačte Ctrl + symbol mínus (-), aby ste otvorili možnosť „Odstrániť“.

Klávesová skratka na otvorenie možnosti „Odstrániť“

V okne možností „mazania“ máme štyri možnosti. Podľa našej požiadavky si môžeme zvoliť akciu. Pretože potrebujeme presunúť naše bunky smerom hore pre tieto odstránené bunky, vyberte možnosť „Posunúť bunku nahor“.

Budeme mať nezmenené riadky tabuľky 2.

Táto akcia vo VBA vyžaduje použitie vlastnosti „XLUP“ na vykonanie podobnej sady akcií vo VBA. Teraz príďte do okna editora VBA a zadajte svoje meno makra.

Kód:

Sub XLUP_Example () End Sub

Najskôr dodajte bunkový RANGE, ktorý sa má zahrnúť do tejto operácie. V tejto akcii sú prvé bunky, ktoré sa majú vymazať a posunúť nahor, bunky „A5: B5“.

Kód:

Sub XLUP_Example () Range ("A5: B5") End Sub

Pre tento rozsah buniek vyberte metódu „Odstrániť“.

Kód:

Sub XLUP_Example () Range ("A5: B5"). Odstrániť koncový sub

Ako vidíte pre metódu „Odstrániť“, máme jeden voliteľný argument ako (Shift). Pre tento argument musíme zadať argument ako „XLUP“.

Kód:

Sub XLUP_Example () Range ("A5: B5"). Odstrániť posun: = xlUp End Sub


Teraz môžete tento kód spustiť manuálne alebo pomocou klávesovej skratky programu Excel F5, aby ste videli výsledok.

Ako môžete vidieť v tabuľke 1 sme počet riadkov 6 presunuté do 5 -tého riadku a na druhej strane stola, 2 row (farebný) je nezmenený, takže pomocou voľby "VBA xlUp", môžeme túto operáciu .

Príklad # 2 - Nájdite posledný použitý riadok pomocou XLUP

Predstavte si situáciu, že ste v 20. bunke (pozrite sa na obrázok nižšie) a vaša naposledy použitá bunka je A14.

Ak teraz chcete zvoliť poslednú použitú bunku (A14), ako to urobíte pomocou klávesovej skratky ???

Použili by sme Ctrl + šípku hore na presun na poslednú použitú bunku z aktuálnej polohy.

Klávesová skratka na presun do naposledy použitej bunky

Ctrl + šípka nahor z aktuálnej bunky vybrali poslednú použitú bunku. Podobne pri kódovaní VBA používame na vykonanie toho istého príkazu END (XLUP) .

Teraz sa vráťte späť do okna kódovania VBA.

In this window, we will perform the task of finding the last used row in the worksheet. Create a new subprocedure in the VBA window.

Code:

Sub XLUP_Example1() End Sub

To store the last used row number. define the variable as the VBA LONG data type.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long End Sub


Now for this variable, we will assign the last used row number.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Last_Row_Number = End Sub

Now use the RANGE object and open this object.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Last_Row_Number = Range( End Sub

Now mention the active cell (A20) for RANGE object.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20") End Sub

Now open END property for supplied range cell.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End( End Sub

As you can see above, we have to arrow key options like “xlDown,” “xlToLeft,” “xlToRight,” “xlUp.” Since we are moving up from the A14 cell, choose the “VBA XLUP” option.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End(xlUp) End Sub


After moving up from A14 cell, we need to mention what we need to do since we need the last used row number, I will use ROW property.

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End(xlUp).Row End Sub

Now for the message box, assign the value of variable “Last_Row_Number.”

Code:

Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End(xlUp).Row MsgBox Last_Row_Number End Sub


Now you can run this code manually or through shortcut key F5 to see the result.

So message box showing the last used row number as 14, so our last data used row number is A14 cell.

In this case, since the data is very small, we started the room cell, but when the data is large, we cannot say which cell to take into consideration first. In such cases, we need to employ a different technique.

We need to use CELLS property. Below is an example of the same.

Code:

Sub XLUP_Example2() Dim Last_Row_Number As Long Last_Row_Number = Cells(Rows.Count, 1).End(xlUp).Row MsgBox Last_Row_Number End Sub

Now you can run this code manually or through shortcut key F5 to see the result.

Namiesto objektu RANGE som použil vlastnosť CELLS. Dovoľte mi, aby som vám to podrobne vysvetlil.

ROW.COUNT toto spočíta, koľko riadkov je v stĺpci 1. Čo to urobí, je to, že bude brať do úvahy poslednú bunku v hárku namiesto náhodnej adresy bunky. V uvedenom prípade sme ako náhodnú adresu bunky použili A14.

Na čo by ste si mali pamätať VBA XLUP

  • XLUP je slovo používané v kóde VBA na replikáciu akcie klávesu „šípka hore“ v programe Excel.
  • VBA XLUP sa používa na prechod z aktívnych buniek do vyššie uvedenej alebo naposledy použitej bunky.
  • XLUP sa vo VBA zvyčajne používa spolu s vlastnosťou END.

Zaujímavé články...