有人可以解释一下如何阅读以下代码以查找带有数据的最后一列和一行吗?
Last_Column = Sheets("Combined").Cells.Find("", [a1], , , xlByColumns, xlPrevious).Column
Last_Row = Sheets("Combined").Cells.Find("", [a1], , , xlByRows, xlPrevious).Row
谢谢
答案 0 :(得分:1)
要查找上次使用的列和行的 intersect ,您应该将代码调整为
"*"
以匹配任何不是""
用于空白单元格的通配符(注意:通过此更改,您的上述代码将在有限的意义上有效(请参阅下面的2-3) )如果您从combined
表单 Not Nothing
当使用起始单元格'[a1]
时,如果您从不同的工作表运行代码,则应指定工作表名称以确保代码有效,即ws.[a1]
以下
Sub FindLast()
Dim ws As Worksheet
Dim rng1 As Range
Dim rng2 As Range
Set ws = Sheets("combined")
Set rng1 = ws.Cells.Find("*", ws.[a1], xlValues, , xlByRows, xlPrevious)
Set rng2 = ws.Cells.Find("*", ws.[a1], xlValues, , xlByColumns, xlPrevious)
If Not rng1 Is Nothing Then
MsgBox "Last cell is " & Cells(rng1.Row, rng2.Column).Address(0, 0)
Else
MsgBox "No cells found"
End If
End Sub