求教---快速查找excel中指定字符串
求教---快速查找excel中指定字符串,并返回搜到的字符串位置~~我现在用 ,_ExcelReadCell 逐行读取,比较的方式,但是搜3个子表,每个子表20列,1000行,花掉了1分半钟~~
我是菜鸟,请高手帮忙~~ "我也有这个问题啊楼主",呵呵,看来咱们是想到了一块去了啊,呵呵,我仙子啊还没有能够解决掉这个问题,不知道你是否已经解决掉了? 我现在也遇到了这样的问题 。。。 我现在也遇到了。。。。Orz ls的都是马甲么,没看到这是什么区。跑这里来问问题,你们都来回答了。。。纳闷中、 关注一下,我的思路是先编写excel宏,这样是否快些 在论坛查找“ _ExcelReadToArrayFast加速Excel数组读取”这个帖子,可以在很大程度上优化你的问题。我的思路是这样的,如果你能确定要找的字符串在第几列,可以直接预读取那一列,方法是用Range一次读取适量的单元格,然后进行判断是否已经读到~ 如果不能确定在哪一列,那就全表格搜索,甚至全工作簿搜索(只需一开始就罗列所有工作表,然后逐个操作),每次读取一行,看有没有要查找的数据~ #include <Excel.au3>
Local $var = FileOpenDialog("请选择要开启的档案", "@ScriptDir", " XLS(*.xls) ")
Local $oExcel = _Excelbookopen($var)
Local $aRc = StringRegExp($oExcel.Application.Selection.SpecialCells($xlCellTypeLastCell).Address(True, True, $xlR1C1), "\d+",3);共有几行几列
$oExcel.ActiveCell.CurrentRegion.Select;全选
;找"ID"所在Excel表行列位置(单元格位置)
Local $aIDCell
$oFind = $oExcel.Selection.Find("ID")
If IsObj($oFind) Then
$aIDCell = $oFind.Address(0,0);"ID"所在单元格Range
$aIDCell = $oFind.Row;"ID"所在单元格行
$aIDCell = $oFind.Column;"ID"所在单元格列
Else
MsgBox(4096,"Error","没有找到 ID 单元格")
EndIf 好像挺牛逼 学习嘻嘻回复 8# ReMind
页:
[1]