VBA XLUP - Como usar o VBA XLUP no Excel? (com exemplos)

Excel VBA XLUP

Uma coisa que você precisa ter em mente ao escrever o código VBA é o que você faz com a planilha normal, e você também pode replicar a mesma coisa no VBA. Uma dessas palavras-chave na codificação VBA é “XLUP” neste artigo. Mostraremos o que é essa palavra-chave na codificação VBA e como usá-la na codificação.

Como usar o VBA XLUP na codificação?

A seguir estão os exemplos do Excel VBA XLUP.

Exemplo # 1 - Mova as células para a posição excluída das células

Por exemplo, observe o cenário dos dados abaixo, onde você precisa excluir os dados das células coloridas e mais acima dos dados das linhas abaixo para os dados acima.

Uma maneira de excluir isso na planilha é selecionar as células nas quais podemos simplesmente excluir a própria linha inteira. Mas aqui, as situações são um pouco complicadas porque eu tenho células coloridas na Tabela 1 quando excluímos a linha inteira, mesmo as linhas da Tabela 2 também são excluídas, mas não queremos que isso aconteça; em vez disso, só precisamos excluir as linhas coloridas e as células abaixo devem mover-se para cima na posição das células excluídas.

Primeiro, selecione as células coloridas e pressione Ctrl + Símbolo de menos (-) para abrir a opção “Excluir”.

Tecla de atalho para abrir a opção “Excluir”

Na janela de opções “deletar”, temos quatro opções. Podemos escolher a ação de acordo com nossa exigência. Como precisamos mover nossas células para cima para a posição dessas células excluídas, escolha “Shift Cell Up”.

Teremos linhas da Tabela 2 inalteradas.

Esta ação no VBA requer o uso da propriedade “XLUP” para executar um conjunto semelhante de ações no VBA. Agora venha para a janela do editor VBA e comece seu nome de macro.

Código:

Sub XLUP_Example () End Sub

Primeiro, forneça a célula RANGE a ser incluída nesta operação. Nesta ação, as primeiras células a serem excluídas e movidas para cima são as células “A5: B5”.

Código:

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

Para este intervalo de células, selecione o método “Excluir”.

Código:

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

Como você pode ver para o método “Delete”, temos um argumento opcional como (Shift). Para este argumento, precisamos inserir o argumento como “XLUP”.

Código:

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


Agora você pode executar este código manualmente ou através da tecla de atalho do Excel F5 para ver o resultado.

Como você pode ver na Tabela 1, temos linha número 6 subiu para 5 ª fila, e, por outro Tabela mão, 2 linha (colorido) não é alterada, isso usando a opção “VBA xlUp”, podemos fazer esta operação .

Exemplo # 2 - Encontre a última linha usada usando XLUP

Imagine uma situação em que você está na célula A20 (veja a imagem abaixo) e sua última célula usada é A14.

Agora, se você quiser escolher a última célula utilizada (A14), como você fará usando uma tecla de atalho ???

Gostaríamos de usar Ctrl + Seta para cima chave para mover para a última célula usada a partir da posição atual.

Tecla de atalho para mover para a última célula usada

Portanto, a partir da célula atual, Ctrl + Seta para cima selecionou a última célula usada. Da mesma forma, na codificação VBA, usamos END (XLUP) para realizar o mesmo.

Agora volte para a janela de codificação do 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 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.

Em vez de um objeto RANGE, usei a propriedade CELLS. Deixe-me explicar isso em detalhes para você.

ROW.COUNT contará quantas linhas existem na coluna 1. O que isso fará é levar em consideração a última célula na planilha em vez do endereço da célula aleatória. No caso acima, usamos A14 como o endereço de célula aleatório.

Coisas para lembrar sobre VBA XLUP

  • XLUP é a palavra usada no código VBA para replicar a ação da tecla “Seta para cima” no Excel.
  • O VBA XLUP é usado para passar das células ativas para a célula acima ou para a última célula usada.
  • XLUP é geralmente usado junto com a propriedade END no VBA.

Artigos interessantes...