用户仅在文本框名称 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 中删除前导零-LMLPHP

关于excel - 从文本框 VBA 中删除前导零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56785670/

10-12 22:31