SHINE 发表于 2011-8-28 16:32:29

求教---快速查找excel中指定字符串

求教---快速查找excel中指定字符串,并返回搜到的字符串位置~~
我现在用 ,_ExcelReadCell 逐行读取,比较的方式,但是搜3个子表,每个子表20列,1000行,花掉了1分半钟~~
我是菜鸟,请高手帮忙~~

蕉下客 发表于 2011-8-30 11:20:50

"我也有这个问题啊楼主",呵呵,看来咱们是想到了一块去了啊,呵呵,我仙子啊还没有能够解决掉这个问题,不知道你是否已经解决掉了?

veve 发表于 2011-10-30 13:56:54

我现在也遇到了这样的问题 。。。

006l 发表于 2012-4-26 14:14:52

我现在也遇到了。。。。Orz

haijie1223 发表于 2012-4-26 15:43:45

ls的都是马甲么,没看到这是什么区。跑这里来问问题,你们都来回答了。。。纳闷中、

Zuma 发表于 2012-6-7 06:23:31

关注一下,我的思路是先编写excel宏,这样是否快些

xlj310 发表于 2012-6-8 07:33:17

在论坛查找“ _ExcelReadToArrayFast加速Excel数组读取”这个帖子,可以在很大程度上优化你的问题。我的思路是这样的,如果你能确定要找的字符串在第几列,可以直接预读取那一列,方法是用Range一次读取适量的单元格,然后进行判断是否已经读到~ 如果不能确定在哪一列,那就全表格搜索,甚至全工作簿搜索(只需一开始就罗列所有工作表,然后逐个操作),每次读取一行,看有没有要查找的数据~

ReMind 发表于 2014-4-30 15:07:04

#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

a704181957 发表于 2014-5-26 15:42:02

好像挺牛逼

godsky 发表于 2014-8-19 16:54:41

学习嘻嘻回复 8# ReMind
页: [1]
查看完整版本: 求教---快速查找excel中指定字符串