我有一个Excel工作簿混合了"数字格式"和"文本格式"的数字,使其无法用于计算。所有数字都必须是"数字格式"。
我的问题是当我手动或使用VBA代码转换数字时,它们转换为错误的大小。Fx.文本格式为1.0554(一点零五五四)的单元格必须转换为数字格式的1,0554(一个逗号零五五四),而不能转换为数字格式的10554(一万五百五十四)。
有人知道怎么解决吗?
我目前的VBA代码如下,但是如果这个问题可以在没有VBA的情况下以更容易的方式解决,那么我也非常感谢!
Sub ConvertTextToNumbers()
Dim lastRow As Long
lastRow = Range("K" & Rows.Count).End(xlUp).Row
Dim cell As Range
For Each cell In Range("K2:O" & lastRow)
If IsNumeric(cell.Value) = False And cell.Value <> "" Then
cell.Value = Replace(cell.Value, ".", Application.DecimalSeparator)
cell.Value = Replace(cell.Value, ",", Application.DecimalSeparator)
cell.Value = Val(cell.Value)
If IsError(cell.Value) Then cell.Value = 0
End If
If IsNumeric(cell.Value) Then cell.Value = CDbl(cell.Value)
Next cell
末端子组件
1条答案
按热度按时间pjngdqdw1#
您将用相同的小数点分隔符替换点和逗号。
可能其中一个应该是千位分隔符。无论如何,尝试更换这个部分:
与
如果您以后需要在视觉上将点视为千位分隔符,您可以设置单元格的格式,但实际上计算并不需要。