gpt4 book ai didi

vba - Excel VBA - 检查值是否为 DOUBLE 类型

转载 作者:行者123 更新时间:2023-12-02 23:30:27 32 4
gpt4 key购买 nike

我有一列数字,我正在使用 VBA 将它们除以 1000。但是,我只想在其中没有小数的情况下执行此操作。 IE。像 10093、20398、2039348、298、299、10 这样的数字都会被 1000 除,但 2938.39、2883.2、.2 不会。

我想创建一个循环来检查单元格值是否为 DOUBLE,如果是,则跳过它 - 否则,除以。

所以,我认为这可能有效,但事实并非如此:

For Each cel In importWS.Range(Cells(2, 2), Cells(dataLastRow - datafirstrow + 1, 2))
If Not CDbl(cel.Value) Then
cel.Value = cel.Value / 1000
End If
Next cel

有什么想法吗?

最佳答案

或者,检查整数:

With cel
.Value = IIF(CLng(.Value)=.Value, .Value / 1000, .Value)
End With

这表示:如果它是整数/长整型(无小数),则除以 1000,否则使用原始 cel.Value

注意:这不适用于非常大的整数(任何大于 Long 数据类型的数据都会引发溢出错误)。

关于vba - Excel VBA - 检查值是否为 DOUBLE 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29265949/

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