VBA XLUP

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ê pode replicar a mesma coisa no VBA também. 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.

Você pode baixar este modelo VBA XLUP Excel aqui - modelo VBA XLUP Excel

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, precisamos apenas excluir as linhas coloridas e as células abaixo devem se mover a 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 conforme nossa necessidade. Uma vez que precisamos mover nossas células para cima para a posição das células deletadas, 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 inicie o nome da 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 a linha número 6 movida para a 5ª linha e por outro lado Tabela, 2 linhas (coloridas) não são alteradas, então 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 usada (A14). como você vai fazer 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.

Nesta janela, realizaremos a tarefa de encontrar a última linha utilizada na planilha. Crie um novo subprocedimento na janela VBA.

Código:

 Sub XLUP_Example1 () End Sub 

Para armazenar o último número de linha usado. defina a variável como o tipo de dados VBA LONG.

Código:

 Sub XLUP_Example1 () Dim Last_Row_Number As Long End Sub 

Agora, para esta variável, atribuiremos o último número de linha usado.

Código:

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

Agora use o objeto RANGE e abra este objeto.

Código:

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

Agora mencione a célula ativa (A20) para o objeto RANGE .

Código:

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

Agora abra a propriedade END para a célula de intervalo fornecida.

Código:

 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.