如何查找值是否为整数

时间:2015-12-09 07:07:13

标签: vba ms-word word-vba

我想根据一些ifs

执行一些任务

我的(未完成的)代码是

Sub checkif()
    Dim s
    With ActiveDocument.Range
        s = Val(ActiveDocument.Paragraphs.Count)
        s = s / 5
            If s = Integer then
                perform some task
            Else
                Exit Sub
            End If
     End With
End Sub

我对VBA完全陌生,答案很多。我试了好几个。 一个是

Sub checkif2()
    Dim s
    With ActiveDocument.Range
        s = Val(ActiveDocument.Paragraphs.Count)
        s = s / 5
            If IsNumeric(s) Then
            MsgBox "is integer"
            Else
            MsgBox "not integer"
                Exit Sub
            End If
    End With
End Sub

这总是给出整数。

检查了另一个

Sub checkif2()
    Dim s
    With ActiveDocument.Range
        s = Val(ActiveDocument.Paragraphs.Count)
        s = s / 5
            If TypeName(s) = "Integer" Then
            MsgBox "is integer"
            Else
            MsgBox "not integer"
                Exit Sub
            End If
    End With
End Sub

始终不给整数。 Word VBA有什么方法吗?

2 个答案:

答案 0 :(得分:1)

If s = Fix(s)是单向的。

Fix剥离小部分。

在您的情况下,另一种方法是在进行除法之前检查基数5模数是否为零。请使用ModIf s Mod 5 = 0

答案 1 :(得分:1)

在尝试Rahul的回答时,发现这是最简单的方法。

If s = Int(s) Then

尝试使用较小的文件。 我将检查更大的文件并告诉。