在excel VBA中如何判定单元格中的数据类型是整数还是其他呢?

2024-11-16 02:26:56
推荐回答(2个)
回答(1):

在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。

回答(2):

那你试试下面这样,先判断是否为数

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