我正在做一个关于具有一些混合数据的范围的相当简单的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
答案 0 :(得分:3)
更改此行:
Dim lookupValue As String
到
Dim lookupValue As Variant
您正在将数字lookupValues
投射到Strings
,因此它们不匹配。