Excel VBA XLUP
Med pisanjem kode VBA morate biti pozorni na to, kaj počnete z običajnim delovnim listom, isto stvar pa lahko ponovite tudi v VBA. Ena takih ključnih besed pri kodiranju VBA je v tem članku »XLUP«. Pokazali vam bomo, kaj je ta ključna beseda pri kodiranju VBA in kako jo uporabiti pri kodiranju.

Kako uporabiti VBA XLUP pri kodiranju?
Sledijo primeri excela VBA XLUP.
Primer # 1 - Premakni celice v izbrisani položaj celic
Oglejte si na primer scenarij spodnjih podatkov, kjer morate te barvne celice izbrisati in še več podatkov spodnjih vrstic do zgornjih podatkov.

Eden od načinov brisanja tega na delovnem listu je, da izberemo tiste celice, v katerih lahko preprosto izbrišemo celotno vrstico. A tu so situacije malce zapletene, ker imam v tabeli 1 obarvane celice, ko izbrišemo celo vrstico, tudi vrstice tabele 2 se tudi izbrišejo, vendar ne želimo, da se to zgodi; namesto tega moramo samo izbrisati barvne vrstice, spodnje celice pa se morajo premakniti navzgor za položaj izbrisanih celic.
Najprej izberite barvne celice in pritisnite Ctrl + Simbol minus (-), da odprete možnost »Delete«.
Bližnjična tipka za odpiranje možnosti »Delete«


V oknu z možnostmi »izbriši« imamo štiri možnosti. Dejanje lahko izberemo v skladu z našo zahtevo. Ker moramo premakniti celice navzgor za položaj izbrisanih celic, izberite »Shift Cell Up«.

Imeli bomo nespremenjene vrstice v tabeli 2.

To dejanje v VBA zahteva uporabo lastnosti »XLUP« za izvedbo podobnega niza dejanj v VBA. Zdaj pridite do okna urejevalnika VBA in zaženite ime makra.
Koda:
Sub XLUP_Example () Konec Sub

Najprej vnesite celico RANGE, ki bo vključena v to operacijo. V tem postopku so prve celice, ki jih je treba izbrisati in se premakniti navzgor, celice “A5: B5”.
Koda:
Sub XLUP_Example () Obseg ("A5: B5") Konec Sub

Za ta obseg celic izberite metodo »Izbriši«.
Koda:
Sub XLUP_Example () Obseg ("A5: B5"). Izbriši Konec Sub

Kot lahko vidite za metodo »Delete«, imamo en neobvezen argument kot (Shift). Za ta argument moramo argument vnesti kot »XLUP«.
Koda:
Sub XLUP_Example () Obseg ("A5: B5"). Izbriši premik: = xlUp End Sub
Zdaj lahko to kodo zaženete ročno ali s pomočjo bližnjične tipke excel F5, da si ogledate rezultat.

Kot lahko vidite v tabeli 1, smo vrstica številka 6 preselil do 5 th zapored, in na drugi strani tabele, 2 vrstica (barvne) je nespremenjen, tako da s pomočjo opcije "VBA XLUP", kar lahko naredimo to operacijo .
2. primer - Poiščite zadnjo uporabljeno vrstico z uporabo XLUP
Predstavljajte si situacijo, ko ste v celici A20. (Poglejte spodnjo sliko), vaša zadnja uporabljena celica pa je A14.

Če želite izbrati zadnjo uporabljeno celico (A14), kako boste to storili z bližnjico ???
Za premik do zadnje uporabljene celice s trenutnega položaja bi uporabili tipko Ctrl + puščica gor .
Bližnjična tipka za premik v zadnjo uporabljeno celico


Torej, iz trenutne celice je Ctrl + puščica gor izbrala zadnjo uporabljeno celico. Podobno pri kodiranju VBA uporabljamo END (XLUP), da izvedemo enako.
Zdaj se vrnite v okno za kodiranje 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.

Namesto predmeta RANGE sem uporabil lastnost CELLS. Naj vam to podrobno razložim.
ROW.COUNT bo to štelo, koliko vrstic je v stolpcu 1. To bo storilo tako, da bo upoštevalo zadnjo celico na delovnem listu namesto naključnega naslova celice. V zgornjem primeru smo kot naključni naslov celice uporabili A14.
Stvari, ki si jih je treba zapomniti o VBA XLUP
- XLUP je beseda, ki se uporablja v kodi VBA za kopiranje dejanja tipke "Arrow Up" v Excelu.
- VBA XLUP se uporablja za premik iz aktivnih celic v zgornjo celico ali nazadnje uporabljeno celico.
- XLUP se običajno uporablja skupaj z lastnostjo END v VBA.