excel - 我的查找功能,从第二个实例开始,我做错了什么?
问题描述
我正在尝试搜索一个数组,然后对找到的行进行调整。查找从找到的第二个实例开始,我如何将其设为第一个实例?
val = MySheet.Range("B8")
With MySheet.Range("MyList")
Set Loc = .Find(val, LookAt:=xlWhole, SearchOrder:=xlByRows)
Do
ListPos = Loc.Row
MyVal = MySheet.Cells(ListPos, 6).Value
MsgBox ListPos
Val = x MyList = {x,z,y,f,g,x,x} (只是我命名的 1 列范围)
MsgBox 始终显示数组中第二个实例的行值
我尝试过使用搜索顺序,也尝试过使用 After:=0,但没有帮助
我希望 ListPos 是 1 而不是它总是 6
解决方案
我想你需要After:=
下面的例子。
Set foundMatch = .Find(What:=cellCriteria, After:=.Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False) 'finds a match
推荐阅读
- docker - 元数据库 H2 丢失数据
- java - Mysql:在父表中成功事务后更新存档表
- keras - keras中的monitor有什么作用?
- java - 在 jboss server 7.0 中部署 war 文件
- ios - iOS:获取“UIButton”的“UIViewController”
- c++ - 程序无法从双向链表中读取单个数据
- google-apps-script - doGet(e) 用于电子表格中的显示单元格
- asp.net - 通过预先加载获取所有列
- javascript - 停止在 html 中加载表单
- sql - 是否可以在 Oracle 18c 的触发器中使用 GRANT?