如何创建一个通过电子表格排序的程序找到最后一行数据,然后在下一个可用行中以新文本进行复制/粘贴?
答案 0 :(得分:0)
此UDF在第一个参数处接收工作表名称,并在列字母中查找一行,这将返回下一行可用。
Function GetLin(Sht As String, Col As String)
'officevb.com
Dim UltLinPlan As Long
'Get a last row in sheet
UltLinPlan = Sheets(Sht).Range("A65536").End(xlDown).Row
'Return this number
GetLin = Sheets(Sht).Range(Col & UltLinPlan).End(xlUp).Offset(1, 0).Row
End Function
使用非常简单
dim x as long
x=GetLin("Sheet1","A")
此示例返回Sheet1
中A列的下一行[]的
答案 1 :(得分:0)
Column A
之后的Row 65536
中有数据,那么Bruno的方法将无法在更高版本的Excel中使用。此外,如果您在工作表的末尾有数据(无论版本如何),如果您执行xlUp
,那么您将跳过真正的结束。
这种方法依赖于流行的方法,快速检查最后一行。
Sub getlin2()
Dim lin As Long
Dim Sht As String
Dim Col As String
Col = "A"
Sht = "Sheet1"
lin = Sheets(Sht).Rows.Count
If Sheets(Sht).Range(Col & lin).Value = vbNullString Then
lin = Sheets(Sht).Range(Col & Sheets(Sht).Rows.Count).End(xlUp).Offset(1, 0).Row
End If
MsgBox lin
End Sub