我有一列数字,如果数字以零开头,我需要从列中的每个单元格中删除前导零。
答案 0 :(得分:2)
尝试,
with worksheets("Sheet1")
with .columns(1)
.numberformat = "General"
.texttocolumns destination:=.cells(1), _
datatype:=xlFixedWidth, fieldinfo:=Array(0, 1)
end with
end with
答案 1 :(得分:1)
我确信你可以弄清楚如何遍历每个单元格,所以我不打算在下面的代码示例中演示。这样就可以了。用您需要处理的每个单元替换A4。
Dim My_Number As String
Dim i As Integer
My_Number = Range("A4")
For i = 1 To Len(My_Number) - 1
If InStr(1, My_Number, "0") = 1 Then
My_Number = Right(My_Number, Len(My_Number) - 1)
Else
Range("A4") = My_Number
Exit For
End If
Next
Instr正在寻找弦的第一个位置的零。如果if找到零,则下一行将除第一个(零)之外的所有字符串字符写入单元格。
答案 2 :(得分:0)
如果转换为数字并不是一个可行的解决方案,那么这个UDF将起作用:
Function StripLeadingZeros(MyString As String)
Dim X As Long
For X = 1 To Len(MyString)
If Left(MyString, 1) = "0" Then
MyString = Right(MyString, Len(MyString) - 1)
Else
Exit For
End If
Next
StripLeadingZeros = MyString
End Function