Excel VBA XLUP
Při psaní kódu VBA je třeba mít na paměti jednu věc, co děláte s běžným listem, a stejnou věc můžete replikovat také ve VBA. Jedno takové klíčové slovo v kódování VBA je v tomto článku „XLUP“. Ukážeme vám, co je toto klíčové slovo v kódování VBA a jak ho použít v kódování.

Jak používat VBA XLUP v kódování?
Následují příklady aplikace Excel VBA XLUP.
Příklad č. 1 - Přesuňte buňky do odstraněné polohy buněk
Podívejte se například na scénář níže uvedených dat, kde je třeba odstranit data těchto barevných buněk a více dat níže uvedených řádků na výše uvedená data.

Jedním ze způsobů, jak to v listu odstranit, je vybrat buňky, ve kterých můžeme jednoduše odstranit celý řádek. Ale tady jsou situace trochu složité, protože v tabulce 1 mám barevné buňky, když smažeme celý řádek, dokonce se smažou i řádky tabulky 2, ale nechceme, aby se to stalo; místo toho musíme smazat pouze barevné řádky a pod buňkami bychom se měli posunout nahoru na pozici odstraněných buněk.
Nejprve vyberte barevné buňky a stisknutím Ctrl + Symbol mínus (-) otevřete možnost „Odstranit“.
Klávesová zkratka pro otevření možnosti „Odstranit“


V okně možností „mazání“ máme čtyři možnosti. Můžeme si vybrat akci podle našeho požadavku. Protože potřebujeme přesunout naše buňky směrem nahoru pro tyto odstraněné buňky, vyberte možnost „Posunout buňku nahoru“.

Budeme mít nezměněné řádky tabulky 2.

Tato akce ve VBA vyžaduje použití vlastnosti „XLUP“ k provedení podobné sady akcí ve VBA. Nyní přejděte do okna editoru VBA a spusťte název makra.
Kód:
Sub XLUP_Example () End Sub

Nejprve zadejte buňku RANGE, která má být zahrnuta do této operace. V této akci jsou první buňky, které mají být odstraněny a přesunuty nahoru, buňky „A5: B5“.
Kód:
Sub XLUP_Example () Range ("A5: B5") End Sub

Pro tento rozsah buněk vyberte metodu „Odstranit“.
Kód:
Sub XLUP_Example () Range ("A5: B5"). Odstranit End Sub

Jak vidíte u metody „Odstranit“, máme jeden volitelný argument jako (Shift). Pro tento argument musíme zadat argument jako „XLUP“.
Kód:
Sub XLUP_Example () Range ("A5: B5"). Smazat shift: = xlUp End Sub
Nyní můžete tento kód spustit ručně nebo pomocí klávesové zkratky aplikace Excel F5, abyste viděli výsledek.

As you can see in Table 1, we have row number 6 moved up to 5th row, and on the other hand Table, 2 row (colored) is unaltered, so by using the “VBA XLUP” option, we can do this operation.
Example #2 - Find Last Used Row by using XLUP
Imagine a situation where you are in the A20th cell (look at below image), and your last-used cell is A14.

Now, if you want to choose the last used cell (A14), how will you do by using a shortcut key???
We would use Ctrl + Up Arrow key to move to the last used cell from the current position.
Shortcut Key to Move to Last used Cell


So, from the current cell, Ctrl + Up arrow selected the last used cell. Similarly, in VBA coding, we use END (XLUP) to perform the same.
Now come back to VBA coding window.
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.

Místo objektu RANGE jsem použil vlastnost CELLS. Dovolte mi, abych vám to podrobně vysvětlil.
ROW.COUNT toto spočítá, kolik řádků je ve sloupci 1. Co to udělá, je, že místo náhodné adresy buňky bude zohledněna poslední buňka v listu. Ve výše uvedeném případě jsme jako náhodnou adresu buňky použili A14.
Důležité informace o VBA XLUP
- XLUP je slovo používané v kódu VBA k replikaci akce klávesy „Šipka nahoru“ v aplikaci Excel.
- VBA XLUP se používá k přechodu z aktivních buněk do výše uvedené buňky nebo do naposledy použité buňky.
- XLUP se obecně používá společně s vlastností END ve VBA.