在循环语句内使用的话,很容易出错,因为其值不会变化,所以要放到循环语句前,取得最后一行的值,另外,使用Range("a1").End(xlDown).Row如果A列第一行下面全为空,则得到表的最后一行65536,容易出错,建议使用Range("a65536").End(xlUp).RowSub a()Dim i As LongDim r As Longr = Range("a1").End(xlDown).RowFor i = 1 To 10r = r + 1Cells(r, 1) = iNext iEnd Sub