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
当我们运行这个宏时,我们会收到以下输出:
消息框告诉我们工作表中使用的最后一列是第2列。
注意:您可以在此处找到 VBA Find方法的完整文档。
其他资源
以下教程说明如何在 VBA 中执行其他常见任务: