首页 > 解决方案 > Range.find() 在 VBA 中正确编码

问题描述

我想在一列数字中找到大于某个固定数字的第一个数字,比如 6。

请你告诉我我需要在 .find 函数的“what”参数中添加什么来做到这一点?

如果 'what' 参数只接受单个值,我将如何编写我想做的代码?

谢谢

标签: vbaexcel

解决方案


根据上下文,我不会使用 find,我会使用 do until 循环。

dim i as long
i = 1
do until cells(i,1).value > 6
    i = i+1
loop
'something with cells(i,1).value

这将在沿列向下移动时起作用,如所示,或者可以跨行修改。


Edit1:原本打算使这不是一个开放式循环,以防万一您没有结果... lr 将用于查找列中的最后一行数据:

dim i as long, lr as long
lr = cells(rows.count,1).end(xlup).row
i = 1
do until cells(i,1).value > 6 OR i > lr 
    i = i+1
loop
if i > lr then exit sub
'something with cells(i,1).value

推荐阅读