VBA XLUP | Hvordan bruges VBA XLUP i Excel? (med eksempler)

Excel VBA XLUP

En ting, du skal huske på, mens du skriver VBA-kode, er hvad du gør med det almindelige regneark, og du kan også replikere den samme i VBA. Et sådant nøgleord i VBA-kodning er "XLUP", i denne artikel viser vi dig, hvad dette nøgleord er i VBA-kodning, og hvordan man bruger det til kodning.

Hvordan bruges VBA XLUP i kodning?

Følgende er eksempler på excel VBA XLUP.

Du kan downloade denne VBA XLUP Excel-skabelon her - VBA XLUP Excel-skabelon

Eksempel 1 - Flyt celler til slettet position af celler

Se for eksempel på scenariet med nedenstående data, hvor du har brug for at slette disse farvede celledata og mere op under nedenstående række data til ovenstående data.

En måde at slette dette på regnearket er at vælge de celler, hvor vi simpelthen kan slette hele rækken selv. Men her er situationer lidt vanskelige, fordi jeg har farvede celler i tabel 1, når vi sletter hele rækken, selv tabel 2-rækker bliver også slettet, men vi ønsker ikke, at dette skal ske i stedet, vi behøver kun at slette farvede rækker, og nedenunder skal cellerne bevæge sig op placeringen af ​​de slettede celler.

Vælg først de farvede celler og tryk på Ctrl + minus-symbolet (-) for at åbne "Slet" -indstillingen.

Genvejstast for at åbne "Slet" mulighed

I vinduet "Slet" har vi fire muligheder, vi kan vælge handlingen i henhold til vores krav. Da vi har brug for at flytte vores celler op for de slettede celler positon, skal du vælge "Skift celle op".

Vi har uændrede tabel 2-rækker.

Denne handling i VBA kræver brug af egenskaben “XLUP” til at udføre et lignende sæt handlinger i VBA. Kom nu til vinduet i VBA editor og start dit makronavn.

Kode:

 Sub XLUP_Example () Afslut Sub 

Angiv først cellen RANGE, der skal inkluderes i denne operation. I denne handling er de første celler, der skal slettes og bevæger sig op, “A5: B5” -celler.

Kode:

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

For denne række celler skal du vælge "Slet" -metoden.

Kode:

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

Som du kan se for "Slet" -metoden, har vi et valgfrit argument som [Skift], for dette argument skal vi indtaste argumentet som "XLUP".

Kode:

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

Nu kan du køre denne kode manuelt eller gennem genvejstasten F5 for at se resultatet.

Som du kan se i tabel 1, har vi række 6 flyttet op til 5. række, og på den anden side er tabel 2 række (farvet) uændret, så ved at bruge "VBA XLUP" -muligheden kan vi udføre denne operation.

Eksempel # 2 - Find sidst brugt række ved hjælp af XLUP

Forestil dig en situation, hvor du befinder dig i A20-cellen (se nedenstående billede), og din sidst anvendte celle er A14.

Hvis du nu vil vælge den sidst anvendte celle (A14). hvordan vil du gøre ved at bruge en genvejstast ???

Vi bruger Ctrl + pil op for at flytte til den sidst anvendte celle fra den aktuelle position.

Genvejstast til at flytte til sidst anvendte celle 

Så fra den aktuelle celle valgte Ctrl + pil op den sidst anvendte celle. På samme måde bruger vi i VBA-kodning END (XLUP) til at udføre det samme.

Kom nu tilbage til VBA-kodningsvinduet.

I dette vindue udfører vi opgaven med at finde den sidst anvendte række i regnearket. Opret en ny delprocedure i VBA-vinduet.

Kode:

 Sub XLUP_Example1 () Afslut Sub 

For at gemme det sidst anvendte række nummer. definer variablen som VBA LONG-datatypen.

Kode:

 Sub XLUP_Example1 () Dim Last_Row_Number Som Long End Sub 

Nu til denne variabel tildeler vi det sidst anvendte række nummer.

Kode:

 Sub XLUP_Example1 () Dim Last_Row_Number As Long Last_Row_Number = Afslut sub 

Brug nu RANGE-objekt og åbn dette objekt.

Kode:

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

Nævn nu den aktive celle (A20) for RANGE- objekt.

Kode:

 Sub XLUP_Example1 () Dim Last_Row_Number As Long Range ("A14"). Vælg Last_Row_Number = Range ("A20") End Sub 

Åbn nu END-egenskaben for den medfølgende rækkecelle.

Kode:

 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.