截断VBA中的实际值

时间:2017-06-01 17:38:34

标签: excel vba formatting

我有一张包含各种列的工作表,我用它将数据上传到Sql server SQLServer中的数据类型是Decimal(4,1​​)。我使用了这个vba代码:

数据:

STATION
439.26978545

代码

ActiveSheet.Range("I:I").NumberFormat = "#00.0"

它只更改了我在工作表中看到的数据和我的查询错误,因为数据类型不匹配,因为它仍在发送439.26978545。

有没有办法运行上面的代码将整个列修复为Decimal(4,1​​)?

1 个答案:

答案 0 :(得分:1)

@Scott Craner给出了正确答案。因为他没有发表他的回答(如果他这样做,我会选择那个),我真的不喜欢未回答的问题。我在这里发帖,以便它可以帮助ppl:

[I:I] = [INDEX(IF((I:I<>"")*(ISNUMBER(I:I)),ROUND(I:I,1),IF(I:I = "","",I:I)),)]