📅  最后修改于: 2023-12-03 15:08:53.134000             🧑  作者: Mango
在Excel中,经常会遇到需要删除数值前面的零的情况。手动删除显然十分麻烦,但是通过VBA编写宏可以轻松地解决这个问题。
VBA中自带了函数Trim,可以删除字符串首尾的空格以及其他需要删除的字符。在这里,我们可以利用这个函数来删除数值前面的零。代码如下:
Sub DeleteLeadingZerosWithTrim()
Dim cel As Range
For Each cel In Selection
cel.Value = Trim(cel.Value)
Next cel
End Sub
操作步骤:
ALT + F11
进入VBA编辑器;需要注意的是,该方法只能删除数值前面连续的零,并不能删除数值中间或者结尾的零。
除了使用VBA自带函数Trim,我们还可以使用功能函数Str来实现删除数值前面的零。相比于Trim函数,Str函数可以保留数值的小数点和分数线。在这里,我们同样可以使用循环来批量删除数值前面的零。代码如下:
Sub DeleteLeadingZerosWithStr()
Dim cel As Range
For Each cel In Selection
cel.Value = CDbl(cel.Value)
Next cel
End Sub
操作步骤:
以上两种方法都是利用VBA编写宏实现批量删除数值前面的零。需要注意的是,选择的区域一定要是数值类型,不能是字符串;同时,使用Str函数进行删除时,需要注意空格的问题。