【发布时间】:2015-01-13 06:23:51
【问题描述】:
我正在寻找使用 Vlookup 函数将值返回到相邻列的代码。但是我希望查找使用通配符,即不需要完全匹配。
下面的代码将逐行向下查找D列,然后使用该值从数据表中查找相应的值并将其返回到E列。这种工作但不能很好地处理缺失或不正确的值。
D列的数据将是全文格式的句子,所以我只需要寻找关键词,然后返回一个设定的参考值进行数据处理。
Sub LookUpComments() 'exact match only ???
On Error Resume Next
Application.ScreenUpdating = False
Dim DataRow As Long
Dim DataClm As Long
Dim Result As Variant
DataTable = Sheet3.Range("D5:D35")
LookUpTable = Sheet3.Range("AA10:AB20")
Sheet3.Range("E5:E10000").ClearContents
DataRow = Sheet3.Range("E5").Row
DataClm = Sheet3.Range("E5").Column
For Each cl In DataTable
If cl = "" Then GoTo E
Result = Application.WorksheetFunction.VLookup(cl, LookUpTable, 2, blnLookupType)
If Result = Error Then GoTo E
Sheet3.Cells(DataRow, DataClm) = Result
E: DataRow = DataRow + 1
Next cl
Application.ScreenUpdating = True
MsgBox "Data LookUp is complete"
End Sub
我希望我已经说得够清楚了吗?如果这个功能不可用,你认为我可以使用某种循环查找和替换功能吗?
提前致谢
【问题讨论】:
标签: excel vba wildcard vlookup