


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
利用Excel内嵌的搜索技术来实现高速查找重复值时间:2009-06-16 18:41:34来源:网络 作者:未知 点击:0次 Excel中可以实现搜索文本的功能,内嵌的优秀搜索算法可以快速的查找并定位一个特定的文本单元格,今天我使用VBA写了几行代码,实现了一个自动搜索并定位行功能的小程序!发现了Excel的这个优秀的属性,速度简直超级快!于是很快,Excel中可以实现搜索文本的功能,内嵌的优秀搜索算法可以快速的查找并定位一个特定的文本单元格,今天我使用VBA写了几行代码,实现了一个自动搜索并定位行功能的小程序!发现了Excel的这个优秀的属性,速度简直超级快!于是很快,我就有了一个新想法,升级重复值校验程序的版本到V4.0!就使用Excel的这个属性来实现!于是乎说到不如做到!开始.,下面就公布这段代码,与各位网友共同研究:* 全局查找资产号重复数据程序v4.0该程序通过遍历所有工作表查找表计资产号重复数据,将重复数据值拷贝到另一个工作表中并标注位置信息,重复值高亮显示,注意:该代码必须放到ThisWorkbook中执行,首尾设断点*Public Sub FindAssetRepeat() 遍历查找资产号重复数据Debug.Print 开始时间 & Format(Now, yyyy年mm月dd日hh时mm分ss秒)Dim i As Long, j As Long, k As Long, l As Long, m As Long, oi As LongDim maintemp As String, AssetColName As StringDim ws As Worksheet, obj As Object, temprow As Longoi = 1 标记结果工作表中初始的写入行号AssetColName = E 标识资产号所在的列的列名,如果档案的格式不同,可以修改该值*初始化重复值结果工作表开始For i = 1 To Worksheets.Count 先判断重复值结果工作表是否存在,如果存在则将句柄传给ws,并初始化 If Worksheets(i).Name = 重复值结果 Then Set ws = Worksheets(i) ws.Move After:=Sheets(Worksheets.Count) ws.Cells.Select Selection.Delete Shift:=xlUp GoTo toBegin End IfNext iSet ws = Worksheets.Add(After:=Sheets(Worksheets.Count)ws.Name = 重复值结果toBegin:ws.Activatews.Range(A & oi & :N & oi).Selectws.Range(A & oi & :N & oi).Mergews.Range(A & oi & :N & oi).Value = 表计资产号重复数据列表ws.Range(O & oi).Value = 备注oi = oi + 1ws.Cells.SelectSelection.NumberFormatLocal = ws.Cells(1, 1).Select初始化重复值结果工作表结束*遍历所有表,开始查找重复值For i = 1 To Worksheets.Count - 1 For j = 2 To Worksheets(i).UsedRange.Rows.Count - 1 maintemp = Trim(Worksheets(i).Range(AssetColName & j).Value) If maintemp = Then GoTo toNextRow 如果其他工作表中的被校验行的资产号是非法数据,则跳到下一条 If Asc(Left(maintemp, 1) 255 Then GoTo toNextRow 功能同上 * 在当前工作表中查找重复值开始 Worksheets(i).Activate Worksheets(i).Range(AssetColName & j + 1 & : & AssetColName & Worksheets(i).UsedRange.Rows.Count).SelecttoBeginSearch1: Set obj = Selection.Find(What:=maintemp, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, MatchByte:=False, SearchFormat:=False) If Not (obj Is Nothing) Then obj.Activate temprow = ActiveCell.Row ws.Activate ws.Range(A & oi & :L & oi).Value = Worksheets(i).Range(A & j & :L & j).Value ws.Range(A & oi + 1 & :L & oi + 1).Value = Worksheets(i).Range(A & temprow & :L & temprow).Value ws.Range(M & oi).Value = Worksheets(i).Name & 表中第 & j & 行 ws.Range(M & oi + 1).Value = Worksheets(i).Name & 表中第 & temprow & 行 ws.Range(N & oi & :N & oi + 1).Select ws.Range(N & oi & :N & oi + 1).Merge ws.Range(N & oi & :N & oi + 1).Value = 两行数据资产号重复 ws.Range(AssetColName & oi & : & AssetColName & oi + 1).Select Selection.Interior.ColorIndex = 3 oi = oi + 3 If temprow Worksheets(i).UsedRange.Rows.Count - 1 Then Worksheets(i).Activate Worksheets(i).Range(AssetColName & temprow + 1 & : & AssetColName & Worksheets(i).UsedRange.Rows.Count).Select GoTo toBeginSearch1 End If End If 在当前工作表中查找重复值结束 * 在其他工作表中查找重复值开始 For l = i + 1 To Worksheets.Count - 1 Worksheets(l).Activate Worksheets(l).Range(AssetColName & : & AssetColName).SelecttoBeginSearch2: Set obj = Selection.Find(What:=maintemp, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, MatchByte:=False, SearchFormat:=False) If Not (obj Is Nothing) Then obj.Activate temprow = ActiveCell.Row ws.Activate ws.Range(A & oi & :L & oi).Value = Worksheets(i).Range(A & j & :L & j).Value ws.Range(A & oi + 1 & :L & oi + 1).Value = Worksheets(l).Range(A & temprow & :L & temprow).Value ws.Range(M & oi).Value = Worksheets(i).Name & 表中第 & j & 行 ws.Range(M & oi + 1).Value = Worksheets(l).Name & 表中第 & temprow & 行 ws.Range(N & oi & :N & oi + 1).Select ws.Range(N & oi & :N & oi + 1).Merge ws.Range(N & oi & :N & oi + 1).Value = 两行数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地下工程水泥基渗透结晶防水方案
- 屋顶发电项目质量监督管理方案
- 2025钢材运输合同样本
- 毕业论文致谢范文9篇
- 施工机械设备维护保养计划
- 建筑拆除前结构安全检测技术方案
- 病房改造工程监理与质量监督方案
- 2025房屋租赁合同范本下载
- 2025合作协议书模板试用合作协议书
- 2025年眼科电生理检查临床应用试题答案及解析
- 山东省青岛市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 体育心理学(第三版)课件第三章运动兴趣和动机
- Unit1Developingideaslittlewhitelies课件-高中英语外研版必修第三册
- 四年级上册心理健康教育课件-健康的情绪表达 全国通用(共16张PPT)
- 商业银行资产管理与负债管理
- 电力系统分析孙淑琴案例吉玲power程序实验指导书
- 集成电路版图设计(适合微电子专业)
- 高标准农田建设项目施工组织设计 (5)
- 发动机装调工技师考试资料
- 轻型动力触探试验记录表
- ASME_B36.10M美标钢管外径壁厚对照表
评论
0/150
提交评论