1

我正在用一些混合数据在一个范围内做一个相当简单的 vlookup:

在此处输入图像描述

然而,由于某种原因,在搜索词被格式化为数字的情况下,搜索始终失败。当我编写与工作表函数相同的 vlookup 时,它工作正常,但在 vba 中完成时,它返回 #N/A(最后一列):

在此处输入图像描述

我已经尝试将搜索词转换为字符串,但它并没有产生任何影响。我敢肯定这是一个简单的错误,但是好的老谷歌什么也没发现。下面是我用来运行 vlookup 的代码,但你必须相信我的帮助函数都按预期工作。(我确定他们是。)

Sub countOfWordInNonCompetitorGrounp()
Dim mainsheet As Worksheet
Dim lookupSheet As Worksheet
Dim outputColumn As Long
Dim outputRow As Long
Dim lookupValue As String
Dim lookupRange As Range

Set mainsheet = Sheets("UniqueWords")
Set lookupSheet = Sheets("Temp")
outputColumn = getFirstAvailableColumn(mainsheet, 1, 2)
Set lookupRange = getTempLookupRange
mainsheet.Cells(1, outputColumn) = "Count of Words in Non-Competitor Group"

For outputRow = 2 To getFirstAvailableRowOneBlankOk(mainsheet, 2, 1) - 1
    lookupValue = CStr(mainsheet.Cells(outputRow, 1))
    mainsheet.Cells(outputRow, outputColumn) = Application.VLookup(lookupValue, lookupRange, 2, False)
Next outputRow

End Sub
4

1 回答 1

3

更改此行:

Dim lookupValue As String

Dim lookupValue As Variant

您将数字lookupValues转换为Strings,因此它们不匹配。

于 2013-09-05T04:20:03.013 回答