【发布时间】:2020-02-07 03:29:38
【问题描述】:
我正在编写代码来查找列中的最高美元金额,并带回目标单元格中具有 9 个字符的相邻列中单元格的值以及值
当我设置范围变量时,它显示“12000.88”的值,它工作正常,但是一旦该值扩展到超过 9 位“123000.55”,“set fnd”就找不到它并且范围变量是没有。我测试了很多其他东西,发现唯一的区别是值的长度
Sub Populate()
Dim Fnd As Range
Set Fnd = Range("L:L").Find(WorksheetFunction.Large(Range("L:L"), 1), , xlValues)
End Sub
我对较小的数字没有问题,但我不明白为什么这不适用于较大的数字。
【问题讨论】:
-
它适用于
xlformulas- 不要问我为什么! -
如果整列为空,则抛出 1004 错误。
-
我已经为此苦苦思考了大约 8 个小时... xlformulas... 它起作用了... 非常沮丧但松了一口气。谢谢。
-
@JeffF -
Find有时确实有点问题,用双打和日期给出意想不到的结果。通常,如果可能的话,我会编写自己的函数(并缓慢循环)或解析为字符串。 Find bugs example
标签: excel vba range max long-integer