用户仅在文本框名称 tbID
中输入数值,在我的文件中,该列值保存为数值。但是,如果用户输入 00120
而不是 120
。尝试删除前导零后, 120
之前似乎有一个空格。
当我输入 Criteria1:="120"
它工作
tbIDf = Cint(tbID) 'Debug.Print tbIDf gives " 120" and renders my filter criteria to a blank
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=IDN, Criteria1:="tbID"
如何删除
" "
前面的前导零和 120
? 最佳答案
这是一个想法,我会确保进入您的工作表的数据实际上是正确的可用数据。为此,您可以使用:
Trim(Val(tbID))
Val
的使用将返回一个 double 值,忽略非数字值 120
。或者 CLng
也有可能返回一个长值。只是不要使用 CInt
因为不需要使用整数(范围仅从 -32,768 到 32,767)TRIM
函数将删除前导和尾随空格。您还可以/应该实现 here 描述的按键事件,以确保只输入数值。
关于excel - 从文本框 VBA 中删除前导零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56785670/