VBA中具有Trim功能的问题(VBAtrim之后Excel更改数据)

问题描述 投票:0回答:2

我在Excel修剪功能上遇到问题。在很多情况下,我提取的数据在信息字符串(例如“ 1234566”)之后都带有多余的空格。我曾经在VBA中使用过trim函数,看起来似乎做得很好,但是当涉及到长串包含数字的单元格时,我碰到了一个问题。

这里是代码:

Dim C As Range
For Each C In ActiveSheet.UsedRange
    With C
    C.Value = Trim (C)
    End With
Next C

这在大多数情况下都有效,但是例如,如果我在数字上使用该代码,并在其右边带有空格的“ 12355557899200123”处,Excel的修剪功能似乎会修剪,但通过切掉几个来更改数字的值(不好)在这种情况下,最后一位数字中的12355557899200123变为-> 12355557899200100,而23被00替换,这可能导致以后的计算错误:(((((。

预先感谢您的帮助和建议!

我在Excel修剪功能上遇到问题。在很多情况下,我提取的数据在信息字符串(例如“ 1234566”)之后都带有多余的空格。我有...

excel vba trim
2个回答
0
投票

Excel的精度为15位,请参见here以了解此类限制(向下滚动至计算规格和限制


0
投票

您的问题不是由Trim本身引起的。您原始的单元格内容是String(否则它不能有任何空格)。 Trim本身也会返回一个字符串,但是当您将结果分配给单元格时,Excel将看到该字符串仅包含数字并将其自动转换为数字。该数字表示为Double,仅具有有限的精度。当您在单元格中手动输入12355557899200123时,您将获得完全相同的结果。

© www.soinside.com 2019 - 2024. All rights reserved.