VBA - 如何将单元格的值从文本转换为数字
VBA - How to convert value of cell from text to number
我必须使用导出数字的列,这些数字存储为文本。
我尝试使用这段代码将这些数据转换为数字。
Sub FormatColumns()
Columns(9).NumberFormat = "0"
Columns(10).NumberFormat = "0"
End Sub
它已经正确地完成了工作(或者看起来是这样),但我仍然无法像处理数字一样处理这些数据,但是 Excel 告诉我,它存储为数字。
但是当我通过公式 =ISTEXT()
验证它时,它总是显示 TRUE
你能帮我一下吗?我在 Google 上找到的所有教程和建议都是通过格式化单元格或 =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
用 "fix" 和 运行 突出显示您的数字:
Sub fixNumbers()
With Selection
.NumberFormat = "General"
.Value = .Value
End With
End Sub
另一个解决方案是:
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”,复制该单元格,select您想要转换为数字的范围,右键单击并按粘贴特殊 -> 相乘。
这将使该范围内的所有值保留为数字,而不更改格式。使用 ISTEXT 测试。
确保您的设置也与替换小数点的逗号匹配,否则它可能会继续出现问题。
首先检查整个相关区域是否设置为数字格式。
选择相关区域并免费全局替换</code>("space"到"leave empty")。然后根据您的语言环境尝试将 <code>,
全局替换为 .
。
接下来在备用单元格中输入 1
,复制该单元格,select 整个相关区域并选择性粘贴、选项、乘法。
如果这不起作用,请将 .
切换回 ,
并重复选择性粘贴。
它的逗号,需要是 .
所以 405,90
= 405.90
你必须替换"," ~~> "."
Sub FormatColumns()
With Columns("i:j")
.Replace ",", "."
.NumberFormat = "#,###.00"
End With
End Sub
我必须使用导出数字的列,这些数字存储为文本。
我尝试使用这段代码将这些数据转换为数字。
Sub FormatColumns()
Columns(9).NumberFormat = "0"
Columns(10).NumberFormat = "0"
End Sub
它已经正确地完成了工作(或者看起来是这样),但我仍然无法像处理数字一样处理这些数据,但是 Excel 告诉我,它存储为数字。
但是当我通过公式 =ISTEXT()
验证它时,它总是显示 TRUE
你能帮我一下吗?我在 Google 上找到的所有教程和建议都是通过格式化单元格或 =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
用 "fix" 和 运行 突出显示您的数字:
Sub fixNumbers()
With Selection
.NumberFormat = "General"
.Value = .Value
End With
End Sub
另一个解决方案是:
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”,复制该单元格,select您想要转换为数字的范围,右键单击并按粘贴特殊 -> 相乘。
这将使该范围内的所有值保留为数字,而不更改格式。使用 ISTEXT 测试。
确保您的设置也与替换小数点的逗号匹配,否则它可能会继续出现问题。
首先检查整个相关区域是否设置为数字格式。
选择相关区域并免费全局替换</code>("space"到"leave empty")。然后根据您的语言环境尝试将 <code>,
全局替换为 .
。
接下来在备用单元格中输入 1
,复制该单元格,select 整个相关区域并选择性粘贴、选项、乘法。
如果这不起作用,请将 .
切换回 ,
并重复选择性粘贴。
它的逗号,需要是 .
所以 405,90
= 405.90
你必须替换"," ~~> "."
Sub FormatColumns()
With Columns("i:j")
.Replace ",", "."
.NumberFormat = "#,###.00"
End With
End Sub