在VBA里面,可以使用VarType获得变量以及单元格的数据类型,数值类型值为5(vbDouble)、空类型为0(vbEmpty)、字符串类型为8(vbString )。
例子代码1:显示A1单元格的数据类型
Sub test()
MsgBox VarType([a1])
End Sub
例子代码2:判断A1单元格数据类型是否数值
Sub test()
If VarType([a1]) = vbDouble Then
MsgBox "A1是数值类型"
Else
MsgBox "A1不是数值类型"
End If
End Sub
实际上VB还有vbLong、vbDecimal等类型,但单元格为数值时默认是vbDouble。
那你试试下面这样,先判断是否为数
1,
Sub qgrmdtj()
For i = [a65536].End(xlUp).Row To 1 Step -1
If IsNumeric(Cells(i, 1)) Then
If Cells(i, 1) = Int(Cells(i, 1)) And Cells(i, 1) > 1 Then
Rows(i).Insert
End If
End If
Next
End Sub
--------------------------
2,
Sub qgrmdtj()
For i = [a65536].End(xlUp).Row To 1 Step -1
If IsNumeric(Cells(i, 1)) Then
If Cells(i, 1) = Int(Cells(i, 1)) And Cells(i, 1) > 1 Then
msgbox i'弹出消息框显示行数
End If
End If
Next
End Sub