以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  Excel文件根据字符快速查找对应位置,并给其后一单元格赋值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128130)

--  作者:gareny
--  发布时间:2018/11/29 14:36:00
--  Excel文件根据字符快速查找对应位置,并给其后一单元格赋值
Excel文件根据字符快速查找对应位置,并给其后一单元格赋值:
Excel文件中的字符位置相对不固定,格式也不相同,因此需要根据 特定字符来进行定位。
例如查找excel中,"CW",而这个CW可能在别的单元格也有,但是我只要定位到"Var"所在列的CW,并对CW后面一个单元格赋值,请问如何操作?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.xlsx


--  作者:有点甜
--  发布时间:2018/11/29 16:19:00
--  

先找到var,看其在第几列。

 

在此列查找cw,然后找到后一个单元格。

 

foxtable查找excel文件,需要循环每一个单元格查找;你也可以直接用vba的find函数进行查找。


--  作者:gareny
--  发布时间:2018/12/11 9:36:00
--  
vba的find函数如何使用 循环查找,请举个例子,我试了一下只能查找一次
[此贴子已经被作者于2018/12/11 9:37:03编辑过]

--  作者:有点甜
--  发布时间:2018/12/11 10:24:00
--  
以下是引用gareny在2018/12/11 9:36:00的发言:
vba的find函数如何使用 循环查找,请举个例子,我试了一下只能查找一次
[此贴子已经被作者于2018/12/11 9:37:03编辑过]

 

循环执行即可,如

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim first = ws.Cells.Find(What:="1")
If first IsNot Nothing Then
    Dim rg = first
    Do
        msgbox(rg.address)
        rg = ws.Cells.FindNext(after:=rg)
    Loop While rg IsNot Nothing AndAlso rg.address <> first.address
End If
app.visible = True
\'Wb.Save
\'App.Quit