VBA XLUP

Excel VBA XLUP

Eine Sache, die Sie beim Schreiben von VBA-Code beachten müssen, ist die, die Sie mit dem regulären Arbeitsblatt machen, und Sie können dasselbe auch in VBA replizieren. Ein solches Schlüsselwort in der VBA-Codierung ist "XLUP". In diesem Artikel zeigen wir Ihnen, was dieses Schlüsselwort in der VBA-Codierung ist und wie es in der Codierung verwendet wird.

Wie verwende ich VBA XLUP beim Codieren?

Im Folgenden finden Sie Beispiele für Excel VBA XLUP.

Sie können diese VBA XLUP Excel-Vorlage hier herunterladen - VBA XLUP Excel-Vorlage

Beispiel 1 - Verschieben von Zellen an die gelöschte Position von Zellen

Schauen Sie sich zum Beispiel das Szenario der folgenden Daten an, in dem Sie diese farbigen Zellendaten löschen und die Daten der folgenden Zeilen auf die obigen Daten erhöhen müssen.

Eine Möglichkeit, dies im Arbeitsblatt zu löschen, besteht darin, diejenigen Zellen auszuwählen, in denen wir einfach die gesamte Zeile selbst löschen können. Aber hier sind Situationen etwas schwierig, da ich farbige Zellen in Tabelle 1 habe, wenn wir die gesamte Zeile löschen, auch wenn Zeilen in Tabelle 2 ebenfalls gelöscht werden. Wir möchten jedoch nicht, dass dies geschieht. Stattdessen müssen wir nur farbige Zeilen löschen und die darunter liegenden Zellen sollten verschoben werden die Position der gelöschten Zellen erhöhen.

Wählen Sie zuerst die farbigen Zellen aus und drücken Sie Strg + Minus-Symbol (-) , um die Option „Löschen“ zu öffnen.

Tastenkombination zum Öffnen der Option "Löschen"

Im Optionsfenster "Löschen" haben wir vier Optionen. Wir können die Aktion gemäß unseren Anforderungen auswählen. Da wir unsere Zellen für die Position der gelöschten Zellen nach oben verschieben müssen, wählen Sie "Zelle nach oben verschieben".

Wir haben unveränderte Zeilen in Tabelle 2.

Diese Aktion in VBA erfordert die Verwendung der Eigenschaft "XLUP", um ähnliche Aktionen in VBA auszuführen. Kommen Sie nun zum Fenster des VBA-Editors und starten Sie Ihren Makronamen.

Code:

 Sub XLUP_Example () End Sub 

Geben Sie zuerst den Zellenbereich an, der in diesen Vorgang einbezogen werden soll. In dieser Aktion werden als erste Zellen "A5: B5" -Zellen gelöscht und nach oben verschoben.

Code:

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

Wählen Sie für diesen Zellenbereich die Methode „Löschen“.

Code:

 Sub XLUP_Example () Range ("A5: B5"). End Sub löschen 

Wie Sie für die Methode "Löschen" sehen können, haben wir ein optionales Argument als [Umschalt]. Für dieses Argument müssen wir das Argument als "XLUP" eingeben.

Code:

 Sub XLUP_Example () Bereich ("A5: B5"). Verschiebung löschen: = xlUp End Sub 

Jetzt können Sie diesen Code manuell oder über die Tastenkombination F5 ausführen, um das Ergebnis anzuzeigen.

Wie Sie in Tabelle 1 sehen können, haben wir Zeile 6 in die 5. Zeile verschoben, und in Tabelle 1 ist die Zeile 2 (farbig) unverändert. Mit der Option „VBA XLUP“ können wir diesen Vorgang ausführen.

Beispiel 2 - Suchen der zuletzt verwendeten Zeile mithilfe von XLUP

Stellen Sie sich eine Situation vor, in der Sie sich in der A20-Zelle befinden (siehe Abbildung unten) und Ihre zuletzt verwendete Zelle A14 ist.

Wenn Sie nun die zuletzt verwendete Zelle auswählen möchten (A14). Wie werden Sie mit einer Tastenkombination vorgehen?

Wir würden Strg + Aufwärtspfeiltaste verwenden, um von der aktuellen Position zur zuletzt verwendeten Zelle zu gelangen.

Tastenkombination zum Verschieben zur zuletzt verwendeten Zelle 

Aus der aktuellen Zelle wählte Strg + Aufwärtspfeil die zuletzt verwendete Zelle aus. In ähnlicher Weise verwenden wir bei der VBA-Codierung END (XLUP) , um dasselbe auszuführen.

Kehren Sie nun zum VBA-Codierungsfenster zurück.

In diesem Fenster führen wir die Aufgabe aus, die zuletzt verwendete Zeile im Arbeitsblatt zu finden. Erstellen Sie eine neue Unterprozedur im VBA-Fenster.

Code:

 Sub XLUP_Example1 () End Sub 

Zum Speichern der zuletzt verwendeten Zeilennummer. Definieren Sie die Variable als VBA LONG-Datentyp.

Code:

 Sub XLUP_Example1 () Dim Last_Row_Number As Long End Sub 

Für diese Variable weisen wir nun die zuletzt verwendete Zeilennummer zu.

Code:

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

Verwenden Sie nun das RANGE-Objekt und öffnen Sie dieses Objekt.

Code:

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

Erwähnen Sie nun die aktive Zelle (A20) für das RANGE- Objekt.

Code:

 Sub XLUP_Example1 () Last Last_Row_Number As Long Range ("A14"). Wählen Sie Last_Row_Number = Range ("A20") End Sub 

Öffnen Sie nun die END-Eigenschaft für die angegebene Bereichszelle.

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.