Excel VBA – validation是数字和文本长度

我试图validation单元格在我的Sub中的单元格将检查,以确保它是一个数字,不再是所需的文本长度,这个变化,但我find这个使用函数。

我可以validation文本的长度,但显然这仍然允许文本:

With Selection.Validation .Delete .Add Type:=xlValidateTextLength, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:="0", Formula2:=ValidMaxLength 

任何帮助非常感谢。

考虑到我们要计算整数位数(不包括小数位,减号或小数点):

 With Selection.Validation .Delete .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:="=IF(" & Selection.Address & _ "=0, TRUE, AND(ISNUMBER(" & Selection.Address & _ "), ROUNDDOWN(LOG10(ABS(" _ & Selection.Address & ")),0)<" & ValidMaxLength - 1 & "))" End With 

考虑到1eN有N + 1个数字,应该这样做。