使用另一个工作簿中的代码对工作簿中的值进行VLookup

时间:2017-08-24 09:12:44

标签: excel vba

我有两个工作簿:一个包含宏,另一个包含数据。我试图在数据中查找工作簿中的值。在达到VLookup的代码后,它会停止,之后的所有内容都不会被执行。

我检查了所有我能想到的事情。我检查了是否可以访问数据工作簿中的一些随机单元格:MsgBox (budgetWorkbook.Sheets("sheet 1").Range("E16").Value),它工作正常。

我检查了我的搜索值是否等于数据工作簿的A列中的相应值,它可以工作 - 它是msgboxes" Equals"。

Dim i As Integer
Dim budgetItemSheetName As String
i = 1
Dim budgetItemValue As Long
MsgBox (budgetWorkbook.Sheets("sheet 1").Range("E16").Value) 'shows up
If budgetItemNames(i) = budgetWorkbook.Sheets("sheet1".Range("A16").Value) Then
    MsgBox("Equals")  'shows up
End If

budgetItemValue = Application.VLookup(budgetItemNames(i), _
  budgetWorkbook.Sheets("sheet 1").Range("A:B"), _
  2, False)  'fails, but it should find the search value in A16 cell and give B16 cell's value

resultArray(i) = budgetItemValue  'doesn't work
MsgBox (budgetItemValue)   'doesn't show up

编辑:看起来我将不得不使用自定义搜索功能。

1 个答案:

答案 0 :(得分:1)

使用小型查找表,A列和B列以及单元格D1中的查找值进行了一次小测试:

onReceive()