Vba:如何查找最后使用的列


您可以在 VBA 中使用以下基本语法来查找 Excel 工作表中最后使用的列:

 Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub

此特定示例搜索当前工作表中最后使用的列,并将结果返回到单元格A14中。

如果您想显示消息框的最后一列,可以使用以下语法:

 Sub FindLastColumn()
Dim LastCol As Long
    
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column

MsgBox " Last Column: " & LastCol
End Sub

以下示例展示了如何在实践中使用每种方法。

相关: VBA:如何查找上次使用的行

示例 1:使用 VBA 查找最后一列并将结果显示在单元格中

假设我们在 Excel 中有以下数据集,其中包含有关各种篮球运动员的信息:

我们可以创建以下宏来查找此 Excel 工作表中使用的最后一列并将结果显示在单元格A14中:

 Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub

当我们运行这个宏时,我们会收到以下输出:

请注意,单元格A14包含值2

这告诉我们该特定工作表中使用的最后一列是第 2 列。

还值得注意的是,如果在已使用的列之前有空列,则此宏将始终找到最后使用的列。

例如,假设我们在以下数据集上运行宏:

单元格A14包含值5 ,因为它是包含值的最后一列。

示例 2:使用 VBA 查找最后一列并将结果显示在消息框中

假设我们想要查找工作表中最后使用的列并在消息框中显示列号。

我们可以创建以下宏来执行此操作:

 Sub FindLastColumn()
Dim LastCol As Long
    
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column

MsgBox " Last Column: " & LastCol
End Sub

当我们运行这个宏时,我们会收到以下输出:

VBA查找上次使用的列

消息框告诉我们工作表中使用的最后一列是第2列。

注意:您可以在此处找到 VBA Find方法的完整文档。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

VBA:如何计算范围的平均值
VBA:如何计算范围内的行数
VBA:如何删除范围内的重复值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注