isnumeric VBA此函数的错误是什么?

isnumeric VBA此函数的错误是什么?,vba,function,range,Vba,Function,Range,问题是Excel执行命令时,不管是否有字符 所以我的问题是,我希望它检查范围,以及是否有任何字符显示msgbox。如果没有任何字符,请继续。如果我理解正确,这应该可以: Dim RX as range Set RX=Application.InputBox(prompt:=" Enter the range for X", Type:=8) if not isnumeric(RX) then msgbox(" Please use only numbers") exit su

问题是Excel执行命令时,不管是否有字符
所以我的问题是,我希望它检查范围,以及是否有任何字符显示msgbox。如果没有任何字符,请继续。

如果我理解正确,这应该可以:

Dim RX as range

Set RX=Application.InputBox(prompt:=" Enter the range for X", Type:=8)

if not isnumeric(RX) then
    msgbox(" Please use only numbers")
    exit sub
end if
子测试()
变暗接收范围
设置RX=应用程序输入框(提示:=“输入X的范围”,类型:=8)
如果工作表function.Count(RX)应用程序.CountA(RX),则
MsgBox(“请仅使用数字”)
出口接头
如果结束
端接头
COUNTA
COUNT
是可以在VBA中使用的工作表函数
COUNTA
返回非空白单元格的数量<代码>计数返回带数字的单元格数。换句话说,
COUNTA
统计任何内容,而
COUNT
只统计数字。如果它们不同,则某些包含内容的单元格没有数字


此外,此代码忽略空白单元格,并将“4”作为文本计数。

执行哪个命令?始终显示“请仅使用数字”,即使范围内只有数字。RX
isnumeric
不是用于“字符”,它是用于测试是否可转换为数字
IsNumeric(数组)
将返回
False
<如果
RX
中有多个单元格,则code>RX.Value将返回一个数组
IsNumeric(空)
将返回
True
。好的,但我如何检查我的范围是否包含任何字符?您是否尝试过
IsNumeric(RX.Value)
?不客气。请参阅我的更新答案以了解解释。
Sub test()
Dim RX As Range

Set RX = Application.InputBox(prompt:=" Enter the range for X", Type:=8)
If WorksheetFunction.Count(RX) <> Application.CountA(RX) Then
    MsgBox (" Please use only numbers")
    Exit Sub
End If
End Sub