VBA XLUP - Hur använder jag VBA XLUP i Excel? (med exempel)

Innehållsförteckning

Excel VBA XLUP

En sak du måste tänka på när du skriver VBA-kod är vad du gör med det vanliga kalkylbladet, och du kan också replikera samma sak i VBA. Ett sådant nyckelord i VBA-kodning är "XLUP" i den här artikeln. Vi kommer att visa dig vad detta nyckelord är i VBA-kodning och hur du använder det vid kodning.

Hur använder jag VBA XLUP i kodning?

Följande är exempel på excel VBA XLUP.

Exempel nr 1 - Flytta celler till borttagen position av celler

Titta till exempel på scenariot för nedanstående data, där du måste ta bort dessa färgade celldata och mer upp nedanstående rader till ovanstående data.

Ett sätt att ta bort detta i kalkylbladet är att välja de celler där vi helt enkelt kan ta bort hela raden i sig. Men här är situationer lite knepiga eftersom jag har färgade celler i tabell 1 när vi tar bort hela raden, även tabell 2-rader raderas också, men vi vill inte att det ska hända; istället behöver vi bara ta bort färgade rader och nedanför celler ska flyttas uppåt för de raderade cellerna.

Välj först de färgade cellerna och tryck på Ctrl + Minus-symbolen (-) för att öppna alternativet "Radera".

Genväg för att öppna alternativet "Ta bort"

I fönstret ”ta bort” har vi fyra alternativ. Vi kan välja åtgärden enligt vårt krav. Eftersom vi måste flytta upp våra celler för de borttagna cellerna, välj "Skift cell upp."

Vi har oförändrade tabell 2-rader.

Denna åtgärd i VBA kräver användning av "XLUP" -egenskapen för att utföra en liknande uppsättning åtgärder i VBA. Kom nu till fönstret i VBA-redigeraren och starta ditt makronamn.

Koda:

Sub XLUP_Example () Slut Sub

Först ange cellen RANGE som ska ingå i denna operation. I den här åtgärden är de första cellerna som raderas och flyttas upp “A5: B5” -celler.

Koda:

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

För detta cellområde väljer du "Radera" -metoden.

Koda:

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

Som du kan se för "Radera" -metoden har vi ett valfritt argument som (Skift). För detta argument måste vi ange argumentet som "XLUP."

Koda:

Sub XLUP_Example () Range ("A5: B5"). Radera shift: = xlUp End Sub


Nu kan du köra den här koden manuellt eller genom snabbknappen F5 för att se resultatet.

Som du kan se i Tabell 1 har vi rad nummer 6 flyttat upp till femte raden, och å andra sidan Tabell, 2 rader (färgade) är oförändrade, så genom att använda alternativet “VBA XLUP” kan vi göra denna operation .

Exempel # 2 - Hitta senast använda rad med XLUP

Föreställ dig en situation där du befinner dig i A20-cellen (se bilden nedan) och din senast använda cell är A14.

Nu, om du vill välja den senast använda cellen (A14), hur ska du göra med en genväg ???

Vi skulle använda Ctrl + Pil upp för att flytta till den senast använda cellen från den aktuella positionen.

Genvägsknapp för att flytta till den senast använda cellen

Så, från den aktuella cellen valde Ctrl + uppåtpilen den senast använda cellen. På samma sätt i VBA-kodning använder vi END (XLUP) för att utföra detsamma.

Kom nu tillbaka till VBA-kodningsfönstret.

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.

I stället för ett RANGE-objekt har jag använt CELLS-egendom. Låt mig förklara detta i detalj för dig.

ROW.COUNT detta kommer att räkna hur många rader som finns i kolumn 1. Vad detta kommer att göra är att det tar hänsyn till den sista cellen i kalkylbladet istället för den slumpmässiga celladressen. I ovanstående fall har vi använt A14 som den slumpmässiga celladressen.

Saker att komma ihåg om VBA XLUP

  • XLUP är ordet som används i VBA-kod för att replikera åtgärden för "Uppåtpil" i Excel.
  • VBA XLUP används för att flytta från aktiva celler till ovanstående cell eller senast använda cell.
  • XLUP används vanligtvis tillsammans med END-egendom i VBA.

Intressanta artiklar...