2、这种做法的弊端,就是如果用户隐藏的单元格,或者是做了数据筛选,会出错。 3、正确的做法(考虑2003和2007兼容)如下: Function GetEndNull() As Integer Dim RowN As Long Dim Rng As Range Set Rng = Sheets(“XXX”).UsedRange For RowN = Rng(Rng.Count).row To 1 Step -1 If Sheets(“XXX”).Cells(RowN, “A”) <> “” Then Exit For Next GetEndNull = RowN End Function 研究了半天,这个会更安全一些