VBA XLUP

Excel VBA XLUP

Een ding dat u in gedachten moet houden bij het schrijven van VBA-code, is wat u doet met het normale werkblad en u kunt hetzelfde ook in VBA repliceren. Een voorbeeld van zo'n sleutelwoord in VBA-codering is "XLUP". In dit artikel laten we u zien wat dit sleutelwoord is in VBA-codering en hoe u het kunt gebruiken bij het coderen.

Hoe VBA XLUP te gebruiken bij codering?

De volgende zijn de voorbeelden van Excel VBA XLUP.

U kunt deze VBA XLUP Excel-sjabloon hier downloaden - VBA XLUP Excel-sjabloon

Voorbeeld # 1 - Verplaats cellen naar verwijderde positie van cellen

Kijk bijvoorbeeld naar het scenario van de onderstaande gegevens, waar u de gegevens van die gekleurde cellen moet verwijderen en meer de gegevens van de onderstaande rijen naar de bovenstaande gegevens.

Een manier om dit in het werkblad te verwijderen, is door die cellen te selecteren waarin we eenvoudig de hele rij zelf kunnen verwijderen. Maar hier zijn situaties een beetje lastig omdat ik gekleurde cellen in tabel 1 heb wanneer we de hele rij verwijderen, zelfs tabel 2-rijen worden ook verwijderd, maar we willen niet dat dit gebeurt, in plaats daarvan hoeven we alleen gekleurde rijen te verwijderen en onderliggende cellen moeten worden verplaatst de positie van de verwijderde cellen omhoog.

Selecteer eerst de gekleurde cellen en druk op Ctrl + minteken (-) om de optie "Verwijderen" te openen.

Sneltoets om de optie "Verwijderen" te openen

In het "verwijderen" -optiesvenster hebben we vier opties, we kunnen de actie kiezen volgens onze vereisten. Omdat we onze cellen naar boven moeten verplaatsen voor die verwijderde cellen, kies je "Shift Cell Up".

We hebben de rijen van Tabel 2 ongewijzigd.

Deze actie in VBA vereist het gebruik van de "XLUP" -eigenschap om een ​​vergelijkbare reeks acties in VBA uit te voeren. Kom nu naar het venster van de VBA-editor en start uw macronaam.

Code:

 Sub XLUP_Example () Einde Sub 

Geef eerst het celbereik op dat bij deze bewerking moet worden betrokken. Bij deze actie zijn de eerste cellen die worden verwijderd en omhoog gaan, "A5: B5" -cellen.

Code:

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

Selecteer voor dit celbereik de methode "Verwijderen".

Code:

 Sub XLUP_Example () Bereik ("A5: B5"). Einde Sub verwijderen 

Zoals je kunt zien voor de “Delete” -methode, hebben we één optioneel argument als [Shift], voor dit argument moeten we het argument invoeren als “XLUP”.

Code:

 Sub XLUP_Example () Bereik ("A5: B5"). Shift verwijderen: = xlUp End Sub 

Nu kunt u deze code handmatig of via de sneltoets Excel-toets F5 uitvoeren om het resultaat te zien.

Zoals je kunt zien in tabel 1, hebben we rij 6 naar de 5e rij verplaatst en aan de andere kant is tabel, 2 rijen (gekleurd) ongewijzigd, dus door de optie "VBA XLUP" te gebruiken, kunnen we deze bewerking uitvoeren.

Voorbeeld # 2 - Zoek laatst gebruikte rij met XLUP

Stel je een situatie voor waarin je je in cel A20 bevindt (zie onderstaande afbeelding) en je laatst gebruikte cel is A14.

Als u nu de laatst gebruikte cel wilt kiezen (A14). hoe gaat u doen met een sneltoets ???

We zouden Ctrl + Pijl-omhoog gebruiken om vanaf de huidige positie naar de laatst gebruikte cel te gaan.

Sneltoets om naar de laatst gebruikte cel te gaan 

Dus, vanuit de huidige cel, heeft Ctrl + pijl-omhoog de laatst gebruikte cel geselecteerd. Evenzo gebruiken we bij VBA-codering END (XLUP) om hetzelfde uit te voeren.

Ga nu terug naar het VBA-coderingsvenster.

In dit venster zullen we de taak uitvoeren om de laatst gebruikte rij in het werkblad te vinden. Maak een nieuwe subprocedure in het VBA-venster.

Code:

 Sub XLUP_Example1 () Einde Sub 

Om het laatst gebruikte rijnummer op te slaan. definieer de variabele als het VBA LONG-gegevenstype.

Code:

 Sub XLUP_Example1 () Dim Last_Row_Number Als Long End Sub 

Nu zullen we voor deze variabele het laatst gebruikte rijnummer toewijzen.

Code:

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

Gebruik nu RANGE-object en open dit object.

Code:

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

Noem nu de actieve cel (A20) voor het RANGE- object.

Code:

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

Open nu de eigenschap END voor de geleverde bereikcel.

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 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.