gpt4 book ai didi

vba - 将存储为文本的数字转换为数字 - 小数

转载 作者:行者123 更新时间:2023-12-04 23:09:51 27 4
gpt4 key购买 nike

我意识到这是一个重复的问题,但是 this 中提到的解决方案这个问题完全不适合我。

我目前的代码如下

Sub ConvertTextToNumber()
Dim Area As Range, C As Range
Set Area = Sheets("Tank 3").Range("C7:L7,B8:B17,C20:L20,B21:B69")

For Each C In Area
If WorksheetFunction.IsNumber(Celle) = False And C <> "" Then
C.NumberFormat = "0.0"
C.Value = C.Value + 0
End If
Next C

End Sub

这适用于整数,但当存储为文本的数字是小数(例如 0,1 或 0,2)时,它只是将数字分别转换为 1 或 2。

在将 NumberFormat 设置为 numbers 或 general 后,我尝试使用 C.value = c.value,但这对我没有任何作用

更新:看来问题出在分隔符上。我必须使用“,”作为小数点分隔符,这会导致 sub 发生故障。如果我将小数点分隔符换成“.”潜艇运行良好。

最佳答案

只需使用 Range.FormulaLocal 即可根据您的区域设置自动将字符串转换为数字:

Sub ConvertTextToNumber()
Dim Area As Range, C As Range
Set Area = Sheets("Tank 3").Range("C7:L7,B8:B17,C20:L20,B21:B69")

For Each C In Area
C.FormulaLocal = C.Value
Next

End Sub

关于vba - 将存储为文本的数字转换为数字 - 小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45535260/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com