VBA XLUP |如何在Excel中使用VBA XLUP? (带有示例)

Excel VBA XLUP

编写VBA代码时需要牢记的一件事是使用常规工作表,并且您也可以在VBA中复制相同的内容。 VBA编码中的一个这样的关键字是“ XLUP”,在本文中,我们将向您展示该关键字在VBA编码中的含义以及如何在编码中使用它。

如何在编码中使用VBA XLUP?

以下是excel VBA XLUP的示例。

您可以在此处下载此VBA XLUP Excel模板– VBA XLUP Excel模板

Example#1 –将单元格移到单元格的已删除位置

例如,查看下面的数据的场景,您需要删除这些有色单元格数据,并将下面的行数据更多地添加到上面的数据中。

在工作表中删除此内容的一种方法是选择那些我们可以简单删除整个行本身的单元格。但是这里的情况有点棘手,因为当我们删除整行甚至表2的行也被删除时,我在表1中有彩色单元格,但是我们不希望这种情况发生,相反,我们只需要删除彩色行并且下面的单元格应该移动上移已删除单元格的位置。

首先,选择有色单元格,然后按 Ctrl +减号(-) 打开“删除”选项。

快捷键打开“删除”选项

在“删除”选项窗口中,我们有四个选项,我们可以根据需要选择操作。由于我们需要向上移动已删除单元格所在位置的单元格,因此请选择“向上移动单元格”。

我们的表2行将保持不变。

VBA中的此操作要求使用“ XLUP”属性来在VBA中执行一组类似的操作。现在进入VBA编辑器窗口并启动您的宏名称。

代码:

 Sub XLUP_Example()结束Sub 

首先提供要包含在此操作中的单元格RANGE。在此操作中,要删除并向上移动的第一个单元格是“ A5:B5”单元格。

代码:

 Sub XLUP_Example()范围(“ A5:B5”)结束Sub 

对于此单元格范围,请选择“删除”方法。

代码:

 Sub XLUP_Example()Range(“ A5:B5”)。Delete End Sub 

如您所见,对于“ Delete”方法,我们有一个可选参数 [转移], 对于此参数,我们需要将参数输入为“ XLUP”。

代码:

 Sub XLUP_Example()Range(“ A5:B5”)。删除移位:= xlUp End Sub 

现在,您可以手动运行此代码,也可以通过快捷键excel F5运行此代码,以查看结果。

如表1所示,我们将第6行移到了第5行,而另一方面,表2行(有色)没有改变,因此通过使用“ VBA XLUP”选项,我们可以执行此操作。

示例2 –使用XLUP查找上次使用的行

想象一下您处于第A20单元格中的情况(请参见下图),最后使用的单元格是A14。

现在,如果您要选择最后使用的单元格(A14)。您将如何使用快捷键呢???

我们将使用 Ctrl +向上箭头 键从当前位置移至最后使用的单元格。

移至上次使用的单元格的快捷键

因此,从当前单元格中,按Ctrl +向上箭头选择最后使用的单元格。同样,在VBA编码中,我们使用 结束(XLUP) 执行相同的操作。

现在回到VBA编码窗口。

在此窗口中,我们将执行在工作表中查找最后使用的行的任务。在VBA窗口中创建一个新的子过程。

代码:

 Sub XLUP_Example1()结束Sub 

存储上次使用的行号。将变量定义为VBA LONG数据类型。

代码:

 Sub XLUP_Example1()将Last_Row_Number昏暗地作为长端Sub 

现在,对于此变量,我们将分配最后使用的行号。

代码:

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

现在使用RANGE对象并打开该对象。

代码:

 Sub XLUP_Example1()Dim Last_Row_Number as Long Last_Row_Number = Range(结束Sub 

现在提及活动单元(A20) 范围 目的。

代码:

 Sub XLUP_Example1()将Last_Row_Number调为Long Range(“ A14”)。选择Last_Row_Number = Range(“ A20”)End Sub 

现在,为提供的范围单元格打开END属性。

代码:

 Sub XLUP_Example1()将Last_Row_Number调为Long Range(“ A14”)。选择Last_Row_Number = Range(“ A20”)。End(End Sub 

如上所示,我们必须使用箭头键选项,例如“ xlDown”,“ xlToLeft”,“ xlToRight”,“ xlUp”。由于我们要从A14单元向上移动,因此请选择“ VBA XLUP”选项。

代码:

 Sub XLUP_Example1()将Last_Row_Number调为Long Range(“ A14”)。选择Last_Row_Number = Range(“ A20”)。End(xlUp)End Sub 

从A14单元向上移动后,我们需要提及我们需要做的事情,因为我们需要最后使用的行号,而我将使用ROW属性。

代码:

 Sub XLUP_Example1()将Last_Row_Number调为Long Range(“ A14”)。选择Last_Row_Number = Range(“ A20”)。End(xlUp).Row End Sub 

现在为消息框分配变量的值 “ Last_Row_Number”.

代码:

 Sub XLUP_Example1()将Last_Row_Number调为Long Range(“ A14”)。选择Last_Row_Number = Range(“ A20”)。End(xlUp).Row MsgBox Last_Row_Number End Sub 

现在,您可以手动或通过快捷键F5运行此代码,以查看结果。

因此消息框显示最后使用的行号为14,所以我们最后使用的数据行号为A14单元格。

在这种情况下,由于数据非常小,我们从A20单元开始,但是当数据很大时,我们不能先说要考虑哪个单元,在这种情况下,我们需要采用其他技术。

我们需要使用CELLS属性,下面是相同的示例。

代码:

 Sub XLUP_Example2()Dim Last_Row_Number为Long Last_Row_Number =单元格(Rows.Count,1).End(xlUp).Row MsgBox Last_Row_Number End Sub 

现在,您可以手动或通过快捷键F5运行此代码,以查看结果。

我使用了CELLS属性而不是RANGE对象。让我详细向您解释。

ROW.COUNT 这将计算一列中有多少行 1. 这样做是考虑到工作表中的最后一个单元而不是随机单元地址,在上述情况下,我们使用A14作为随机单元地址。

关于VBA XLUP的注意事项

  • XLUP是VBA代码中用来复制excel中“向上箭头”键操作的单词。
  • VBA XLUP用于从活动单元移动到上述单元或最后使用的单元。
  • XLUP通常与VBA中的END属性一起使用。