excel - 从文本框VBA中删除前导零

标签 excel vba

用户仅在文本框名称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也有可能返回 long 值。只是不要使用 CInt,因为不需要使用整数(范围仅从 -32,768 到 32,767)

TRIM函数将删除前导和尾随空格。

您还可以/应该实现描述的按键事件here以确保仅输入数字值。

enter image description here

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

相关文章:

excel - 在 Excel 2010 中嵌套 IF 语句

Excel VBA : How to fix an If Else For Loop error

excel - 如何使用excel vba将一个事件分配给多个对象?

vba - 循环工作簿时无法获得正确的工作表名称

vba - Excel VBA : CountIf (value criterion) AND (color criterion)

mysql - 如何使用php将excel中的数据导出到mysql?

vba - 在运行宏之前从所有工作表中删除过滤

excel - 列表框中选定的行复制到另一个列表框

c# - 如何使用SSIS包将大型数据集拆分为多个Excel电子表格?

javascript - 使用 sheetJS 在单个工作表中的多个表