原因是:
integer:只能表示整数,不能有小数点,正负数都可以,最大32767。
Long:也只能表示整数,正负都可以,最大2147483648。
sheet中的数据十几万行所以导致溢出,把integer换成long即可解决。
在获取sheet最后一行,并清空内容时,使用的代码如下:
Sub clear()
Dim wb As Workbook
Set wb = ThisWorkbook
Dim wh As Worksheet
Dim iRows As Long
Set wh = wb.Sheets(1)
iRows = wh.Range("a1048576").End(xlUp).Row
If iRows > 1 Then
wh.Rows("2:" & iRows).ClearContents
wh.Rows("2:" & iRows).Interior.ColorIndex = xlNone
MsgBox "清空成功"
Else:
MsgBox "清空成功"
End If
End Sub