由于小数类型(Decimal)在VBA中初期是没有的,而是后来增补加入的。它并没有单独的类型关键字,而是作为变体型(Variant)的子类型体现。因此在VBA中,要使用小数类型的变量,只能将变量声明为Variant类型,然后用CDec函数转换。
Sub Test()
Dim varNumber As Variant
varNumber = 3.1415
If VarType(varNumber) = vbDouble Then
MsgBox "默认是双精度型(Double)"
End If
varNumber = CDec(3.1415)
If VarType(varNumber) = vbDecimal Then
MsgBox "经过CDec函数转后换才是小数型(Decimal)"
End If
End Sub
这样就可以了