VBA 列中的最后一行

Pro*_*obs 2 excel vba

我编写了一段简短的 VBA 代码来实现自动化。
一个简短的片段如下:

Sub TEST()

    Rows("1:2").Select
    Selection.Delete Shift:=xlUp
    Range("A1").Select
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$O$148"), , xlYes).Name = _
        "Table2"

End Sub
Run Code Online (Sandbox Code Playgroud)

但是,每个 Excel 文件的行数都不同。现在,当我录制这个宏时,它只需要 $A$1:$O$148 的范围。我如何调整这部分,以便它自动识别最后一行和/或范围?

我已经尝试过:

.Range("A1").SpecialCells(xlCellTypeLastCell).Row
Run Code Online (Sandbox Code Playgroud)

代替:

Range("$A$1:$O$148")
Run Code Online (Sandbox Code Playgroud)

提前致谢!

小智 5

通常,您可以使用以下命令找到最后一行/列,从而找到完整的使用范围:

ActiveWorkbook.Worksheets("NAME").Range("A" & Rows.Count).End(xlUp).row

对于最后一行和

ActiveWorkbook.Worksheets("NAME").Cells(1, Columns.Count).End(xlToLeft).Column

对于最后一列。我建议不要使用,UsedRange因为如果中间有空格,会导致错误。