加载中…
个人资料
麦田守望者
麦田守望者
  • 博客等级:
  • 博客积分:0
  • 博客访问:127
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Excel之VBA中find方法運用

(2016-03-24 11:27:53)
标签:

excel

vba

find

快速

分类: Excel

在Excel中,如果不使用Vlookup之類的函數,使用find方法較使用循環遍歷匹配的方法而言,速度快約10位。

 


Sheets(2).Cells(1, "M").Value = Time  '記錄開始時的時間

Application.ScreenUpdating = False '關閉屏幕刷新,減少資料開銷

i = 2
Do While Sheets(2).Cells(i, "A").Value <> ""
Get_Name = Sheets(2).Cells(i, "A").Value '假定表2中通過A例之姓名尋找相表1中B例值(使用Vlookup即可)

Set Is_ExistFlag= Sheets(1).Range("C:C").Find(Get_Name)
If Not Is_ExistFlag Is Nothing Then ‘此語句非常重要,如果無匹配結果就會崩錯,導致中斷
Sheets(1).Select  '進行定位時,此表必須激活為當前工作表
Target_Result = Sheets(1).Range("C:C").Find(Get_Name).Select '是否找到
If Target_Result = True Then
Get_Current_Row = ActiveCell.Row  '取找到時的當前單元格所在的行號
Sheets(2).Cells(i, "B").Value = Sheets(1).Cells(Get_Current_Row, "B").Value '取值
End If
End If
i = i + 1
Loop

Application.ScreenUpdating = True '恢復屏幕刷新
Sheets(2).Cells(2, "M").Value = Time  '記錄完成的時間
Sheets(2).Select

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有