[英]Doing a lookup using vba
我的工作簿中有一個值(變體) strCompany
。 我想確定此值是否存在於另一個工作簿的列A中,tmp_workbook。 如果它不存在,則應該有一個消息框。 下面的代碼是否有意義(我在代碼中先前定義了變量tmp_workbook和strCompany)? 如果不是,也許你可以建議一個更好的方法?
On Error GoTo ErrorHandler
Set value_exists_in_table = tmp_workbook.ActiveSheet.Range("A1:A100000").Find(strCompany)
ErrorHandler:
Select Case Err.Number
Case 9, 91
MsgBox "The company " & strCompany & " was not found."
Exit Sub
End Select
Range.Find方法從上次使用時繼承了許多參數; 通常由用戶在工作表上。 您應該明確指定幾個更常用的參數,如LookAt:xlWhole
或LookAt:xlPart
和LookIn:=xlValues
或LookIn:=xlFormulas
。
我通常遠離。查找單行或列中的完全匹配。 Excel Application對象的本機MATCH函數可以很好地定位值。
dim rw as variant
with worksheets("Sheet1")
rw = application.match(strCompany, .Columns(1), 0)
if not iserror(rw) then
value_exists_in_table = .cells(rw, 1).value
debug.print value_exists_in_table & " found in row " & rw
else
debug.print "The company " & strCompany & " was not found."
end if
end with
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.