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
问题是,无论是否有字符,Excel都会执行命令 所以我的问题是我希望它检查范围以及是否有任何字符来显示msgbox。如果没有任何字符继续。
答案 0 :(得分:1)
如果我理解正确,这应该有效:
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
COUNTA
和COUNT
是您可以在VBA中使用的工作表函数。 COUNTA
返回非空单元格的数量。 COUNT
返回带数字的单元格数。换句话说,COUNTA
计算任何内容,而COUNT
仅计算数字。如果它们不同,那么一些内容没有数字的单元格。
此外,此代码忽略空白单元格并将“4”之类的内容计为文本。