VBA XLUP

Excel VBA XLUP

Jedną z rzeczy, o których musisz pamiętać podczas pisania kodu VBA, jest to, co robisz ze zwykłym arkuszem roboczym i możesz replikować to samo również w VBA. Jednym z takich słów kluczowych w kodowaniu VBA jest „XLUP”. W tym artykule pokażemy, czym jest to słowo kluczowe w kodowaniu VBA i jak go używać w kodowaniu.

Jak korzystać z VBA XLUP w kodowaniu?

Poniżej znajdują się przykłady programu Excel VBA XLUP.

Możesz pobrać ten szablon VBA XLUP Excel tutaj - szablon VBA XLUP Excel

Przykład 1 - Przenieś komórki do usuniętej pozycji komórek

Na przykład spójrz na scenariusz poniższych danych, w którym musisz usunąć te kolorowe komórki i więcej danych z poniższych wierszy do powyższych danych.

Jednym ze sposobów usunięcia tego w arkuszu jest zaznaczenie tych komórek, z których możemy po prostu usunąć cały wiersz. Ale tutaj sytuacje są trochę trudne, ponieważ mam kolorowe komórki w tabeli 1, gdy usuwamy cały wiersz, nawet wiersze tabeli 2 również zostaną usunięte, ale nie chcemy, aby tak się stało, zamiast tego musimy tylko usunąć kolorowe wiersze, a poniżej komórki powinny się przenieść w górę pozycji usuniętych komórek.

Najpierw wybierz kolorowe komórki i naciśnij Ctrl + symbol minus (-), aby otworzyć opcję „Usuń”.

Klawisz skrótu otwierający opcję „Usuń”

W oknie opcji „usuń” mamy cztery opcje, możemy wybrać akcję zgodnie z naszymi wymaganiami. Ponieważ musimy przesunąć nasze komórki w górę, aby uzyskać pozycję tych usuniętych komórek, wybierz „Przesuń komórkę w górę”.

Będziemy mieć niezmienione wiersze tabeli 2.

Ta akcja w języku VBA wymaga użycia właściwości „XLUP” w celu wykonania podobnego zestawu działań w języku VBA. Teraz przejdź do okna edytora VBA i wprowadź nazwę makra.

Kod:

 Sub XLUP_Example () End Sub 

Najpierw podaj zakres ogniw, które mają być uwzględnione w tej operacji. W tej akcji pierwsze komórki do usunięcia i przesunięcia w górę to komórki „A5: B5”.

Kod:

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

Dla tego zakresu komórek wybierz metodę „Usuń”.

Kod:

 Sub XLUP_Example () Range („A5: B5”). Delete End Sub 

Jak widać w przypadku metody „Delete”, mamy jeden opcjonalny argument jako [Shift], dla tego argumentu musimy wprowadzić argument jako „XLUP”.

Kod:

 Sub XLUP_Example () Range („A5: B5”). Delete shift: = xlUp End Sub 

Teraz możesz uruchomić ten kod ręcznie lub za pomocą klawisza skrótu programu Excel F5, aby zobaczyć wynik.

Jak widać w Tabeli 1, mamy wiersz numer 6 przesunięty do piątego wiersza, z drugiej strony Tabela, wiersz 2 (kolorowy) jest niezmieniony, więc używając opcji „VBA XLUP” możemy wykonać tę operację.

Przykład # 2 - Znajdź ostatnio używany wiersz za pomocą XLUP

Wyobraź sobie sytuację, w której znajdujesz się w komórce A20 (spójrz na poniższy obrazek), a ostatnio używaną komórką jest komórka A14.

Teraz, jeśli chcesz wybrać ostatnio używaną komórkę (A14). jak zrobisz, używając klawisza skrótu ???

Chcemy użyć Ctrl + Strzałka w górę klawisz, aby przejść do ostatniej używanej komórki od aktualnej pozycji.

Klawisz skrótu do przejścia do ostatnio używanej komórki 

Tak więc z bieżącej komórki Ctrl + strzałka w górę wybrała ostatnio używaną komórkę. Podobnie w kodowaniu VBA używamy END (XLUP), aby wykonać to samo.

Teraz wróć do okna kodowania VBA.

W tym oknie wykonamy zadanie znalezienia ostatnio używanego wiersza w arkuszu. Utwórz nową podprocedurę w oknie VBA.

Kod:

 Sub XLUP_Example1 () End Sub 

Aby zapisać ostatnio używany numer wiersza. zdefiniuj zmienną jako typ danych VBA LONG.

Kod:

 Sub XLUP_Example1 () Dim Last_Row_Number As Long End Sub 

Teraz dla tej zmiennej przypiszemy numer ostatnio używanego wiersza.

Kod:

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

Teraz użyj obiektu RANGE i otwórz ten obiekt.

Kod:

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

Teraz wspomnij o aktywnej komórce (A20) dla obiektu RANGE .

Kod:

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

Teraz otwórz właściwość END dla podanej komórki zakresu.

Kod:

 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 data is very small we started from A20 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 the 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.

Instead of a RANGE object, I have used CELLS property. Let me explain this in detail to you.

ROW.COUNT this will count how many rows are there in column 1. What this will do is it will take into consideration of the last cell in the worksheet instead of random cell address, in the above case we have used A14 as the random cell address.

Things to Remember about VBA XLUP

  • XLUP is the word used in VBA code to replicate the action of the “Up Arrow” key in excel.
  • VBA XLUP is used to move from active cells to the above cell or last used cell.
  • XLUP is generally used along with END property in VBA.