vba - Range.find() 在 VBA 中正确编码
问题描述
我想在一列数字中找到大于某个固定数字的第一个数字,比如 6。
请你告诉我我需要在 .find 函数的“what”参数中添加什么来做到这一点?
如果 'what' 参数只接受单个值,我将如何编写我想做的代码?
谢谢
解决方案
根据上下文,我不会使用 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
推荐阅读
- html - css悬停图像上的中心图标+文本
- bash - 使用tar解压后的文件名
- arrays - 如何优雅地将数组的一部分复制到另一个数组中或注入到另一个数组中
- php - 如果 minicart hasitem/noitem 从 div 添加/删除类
- php - 如何使用文件系统将文件从本地移动到 Laraver 中的 sftp 文件夹?
- jquery - 通过单击动态更改引导程序上的网格模式
- java - 如何使用MongoRepository接口从spring mongo中的数组中获取指定的对象字段
- android - 如何制作一个倒圆角的矩形?
- c# - 如何更改菜单项边框颜色?
- c# - 如何使用 c# 使用计时器运行不同的进程