VBA XLUP | Как использовать VBA XLUP в Excel? (с примерами)

Excel VBA XLUP

При написании кода VBA вам нужно помнить о том, что вы делаете с обычным листом, и вы также можете реплицировать то же самое в VBA. Одним из таких ключевых слов в кодировании VBA является «XLUP», в этой статье мы покажем вам, что это за ключевое слово в кодировании VBA и как его использовать при кодировании.

Как использовать VBA XLUP в кодировании?

Ниже приведены примеры Excel VBA XLUP.

Вы можете скачать этот шаблон VBA XLUP Excel здесь - Шаблон VBA XLUP Excel

Пример # 1 - Перемещение ячеек в удаленное положение ячеек

Например, посмотрите на сценарий с данными ниже, где вам нужно удалить данные этих цветных ячеек и другие данные из строк ниже в данные выше.

Один из способов удалить это на листе - выбрать те ячейки, в которых мы можем просто удалить всю строку. Но здесь ситуации немного сложны, потому что у меня есть цветные ячейки в таблице 1, когда мы удаляем всю строку, даже строки таблицы 2 также удаляются, но мы не хотим, чтобы это происходило, вместо этого нам нужно только удалить цветные строки, а нижние ячейки должны переместиться. вверх положение удаленных ячеек.

Сначала выберите цветные ячейки и нажмите Ctrl + символ минуса (-), чтобы открыть опцию «Удалить».

Сочетание клавиш для открытия опции «Удалить»

В окне «Удалить» у нас есть четыре варианта, мы можем выбрать действие в соответствии с нашими требованиями. Поскольку нам нужно переместить наши ячейки вверх для позиции этих удаленных ячеек, выберите «Сдвинуть ячейку вверх».

У нас останутся неизменные строки таблицы 2.

Это действие в VBA требует использования свойства «XLUP» для выполнения аналогичного набора действий в VBA. Теперь подойдите к окну редактора VBA и начните свое имя макроса.

Код:

 Sub XLUP_Example () End Sub 

Сначала укажите ДИАПАЗОН ячейки, который будет включен в эту операцию. В этом действии первыми удаляются и перемещаются вверх ячейки «A5: B5».

Код:

 Sub XLUP_Example () Диапазон ("A5: B5") End Sub 

Для этого диапазона ячеек выберите метод «Удалить».

Код:

 Sub XLUP_Example () Диапазон ("A5: B5"). Удалить End Sub 

Как вы можете видеть для метода «Удалить», у нас есть один необязательный аргумент как [Shift], для этого аргумента нам нужно ввести аргумент как «XLUP».

Код:

 Sub XLUP_Example () Диапазон ("A5: B5"). Удалить сдвиг: = xlUp End Sub 

Теперь вы можете запустить этот код вручную или с помощью сочетания клавиш Excel F5, чтобы увидеть результат.

Как вы можете видеть в Таблице 1, у нас есть строка номер 6, перемещенная на 5-ю строку, а с другой стороны Таблица, 2 строка (цветная) не изменилась, поэтому, используя параметр «VBA XLUP», мы можем выполнить эту операцию.

Пример # 2 - Найти последнюю использованную строку с помощью XLUP

Представьте себе ситуацию, когда вы находитесь в ячейке A20 (см. Изображение ниже), а ваша последняя использованная ячейка - A14.

Теперь, если вы хотите выбрать последнюю использованную ячейку (A14). как вы будете делать с помощью сочетания клавиш ???

Мы бы использовали Ctrl + клавишу со стрелкой вверх для перехода к последней использованной ячейке из текущей позиции.

Сочетание клавиш для перехода к последней использованной ячейке 

Итак, из текущей ячейки Ctrl + стрелка вверх выбрала последнюю использованную ячейку. Точно так же в кодировании VBA мы используем END (XLUP), чтобы выполнить то же самое.

Теперь вернемся к окну кодирования VBA.

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