VBA - 如何将单元格的值从文本转换为数字
我必须将导出数字的列存储为文本。VBA - 如何将单元格的值从文本转换为数字
我想这些数据转换为数字与此代码。
Sub FormatColumns()
Columns(9).NumberFormat = "0"
Columns(10).NumberFormat = "0"
End Sub
它正确地完成任务(或者看起来如此),但我仍然无法与这些数据与数字的工作,但Excel中告诉我,它被存储为数字。
但是当我通过公式=ISTEXT()
验证它,它总是显示我TRUE
你能不能帮我一下吧,好吗?所有教程和建议,我已经在谷歌发现通过格式化细胞或=VALUE()
,但对我来说VALUE温控功能不工作,它让我#VALUE。
预先感谢您!
通过宏
Sub macro()
Range("F:F").Select 'specify the range which suits your purpose
With Selection
Selection.NumberFormat = "General"
.Value = .Value
End With
End Sub
不幸的是,在这种情况下这不起作用。有空格和逗号,必须是正确的。但非常感谢您的建议,因为它在其他例如 – Srpic
HILIGHT转换存储为文本的数字号码,你的数字与 “修复”,然后运行:
Sub fixNumbers()
With Selection
.NumberFormat = "General"
.Value = .Value
End With
End Sub
当我写给@ Rick的帖子时,它在这种情况下不起作用,有空格和逗号,需要更正,但是非常感谢您的建议,因为它在其他情况下有效 – Srpic
另一种解决方案是:
Sub Macro1()
Range("A:A").Select 'Range of values you need converted
For Each Cell In Selection
Cell.Value = (Cell.Value * 1)
Next
End Sub
非vba等效解决方案是在单元格中输入“1”,复制该单元格,选择要转换的范围编辑到数字,右键单击并按Paste Special - > Multiply。
这将使该范围内的号码的所有值都不会更改格式。经过ISTEXT测试。
确保您的设置也匹配用逗号代替小数否则可能继续有问题。
嗯,聪明的解决方案,凡不需要VBA的,谢谢! – Srpic
检查整个相关区域先设置为数字格式。
选择相关区域和做的白白(“空间”,以“留空”)全局替换。然后根据您的区域设置尝试全局替换
,
至.
。
下一个备用单元格中输入1
,复制单元格,选择整个相关区域和粘贴,选项,乘。
如果不行开关.
回,
和重复粘贴。
它的逗号,必须.
所以405,90
= 405.90
它的逗号,必须''.' = 405,90''405.90' –
哦daamn,什么是假的我。谢谢! – Srpic
你似乎没有阅读[这]( https://*.com/help/tagging)。 – pnuts