截断VBA中的实际值

我有一个工作表和各种列,我用它来上传数据到Sql服务器。
SQLServer中的数据types是Decimal(4,1​​)。 我用这个vba代码:

数据:


439.26978545

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

它只改变了我在表格中看到的数据,而我的查询出错,因为数据types不匹配,因为它仍在发送439.26978545。

有没有办法像上面那样运行一个代码,将整个列固定为十进制(4,1)?

@Scott Craner对这个问题给出了正确的答案。 由于他没有发表他的答案(如果他这样做,我会select),我真的不喜欢没有答案的问题。 我张贴在这里,以便它可以帮助脂肪酶:

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