答案 0 :(得分:4)
对于非VBA解决方案,您可以突出显示整行,然后转到数据>文本到列,然后点击"完成"。数字将转换为数字格式,字符串将保持不变。
对于VBA解决方案,您可以遍历单元格:
For each rngCell in Sheet1.Columns("A").Cells
Next rngCell
在该迭代中,在替换
之前使用isnumeric()
进行测试
If isnumeric(rngCell.value) Then rngCell.value = rngCell.value + 0
或者那些东西。您还可以记录文本到列的位,然后在VBA中将列的范围分出来。取决于您对数据转换所需的控制程度。
答案 1 :(得分:4)
答案 2 :(得分:2)
答案 3 :(得分:1)
尝试将单元转换为数字然后再转换为字符串 - 如果失败则已经是字符串。 vba convert string to int if string is a number
修改强>
尝试用正则表达式解决它:
With regEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = "^0*"
End With
If regEx.Test(strInput) Then
strInput = regEx.Replace(strInput, "")
End If
来源:How to use Regular Expressions (Regex) in Microsoft Excel both in-cell and loops
答案 4 :(得分:0)
您可以使用带或不带VBA的公式进行:
=IF(ISNUMBER(Value(A1));Value(A1);A1)