VBA VLookup失败,混合格式化

时间:2013-09-05 04:07:44

标签: excel vba excel-vba vlookup

我正在做一个关于具有一些混合数据的范围的相当简单的vlookup:

enter image description here

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

enter image description here

我尝试将搜索字词转换为字符串,但它没有成功。我敢肯定这是一个简单的错误,但好老谷歌一无所获。下面是我用来运行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

1 个答案:

答案 0 :(得分:3)

更改此行:

Dim lookupValue As String

Dim lookupValue As Variant

您正在将数字lookupValues投射到Strings,因此它们不匹配。