检查 Excel 中的文本?

检查 Excel 中的文本?

如果单元格 C4 中未输入任何数字,如何让 IF 函数返回错误消息。如果您输入数字,下面的代码就会运行,但如果单元格 C4 为空,它也会运行,只有当我在单元格中输入文本时才会出现错误消息。

Private Sub CommandButton1_Click()
    If IsNumeric(Range("C4")) = True Then
        FinishClear
    Else
        MsgBox "Please enter Invoice number"
    End If
End Sub

答案1

您的问题是,IsNumeric()如果单元格为空,则该函数会返回 true,因为它的定义。请参阅函数的IsNumeric()文档这里

要检查单元格是否为空,可以使用该IsEmpty()函数。你可以看到这个关联 了解有关此功能的更多信息。

因此,在您的函数中,您需要验证单元格不为空并且包含数值。

Private Sub CommandButton1_Click()
    If IsNumeric(Range("C4").value) And Not IsEmpty(Range("C4")) Then
        FinishClear
    Else
        MsgBox "Please enter Invoice number"
    End If
End Sub

答案2

问题是你没有调用这个值

Range("C4")是单元格对象。它有许多属性,其中之一是值。因此,您需要更新为Range("C4").Value

您还要检查它是否是数字,但您需要检查它是否为空。

这意味着你的 if 语句应该是

If Range("C4").Value <> "" Then

相关内容