Excel VBA - VLookup不复制数据

时间:2017-12-06 19:58:58

标签: excel vba excel-vba

我已尽力阅读可以想象的每个线程来重写我的整体代码以使其工作。

情况:我在sheet2(分数)中有数据,在sheet3中有数据(评论)。在每张纸中,A列都有一个票号。分数表包括每个可能的票号;评论表仅包括该总数的一部分(约50%)。评分表包含4个填充列,而评论表有2个。我需要查找以匹配常见的现有行(票号),然后获取注释列B(2)中的值并将其粘贴到列E(5)中of Sheet1,即CSAT摘要表,并且从得分表中获得Col AD​​的内容。

以下是当前代码。如果我删除了VLookup并且只是放了一个变量(例如" A"),它会将A粘贴到正确的列中,尽管在每一行都... ...

scores.UsedRange.Columns.Copy
csatSum.Range("A1").Insert
csatSum.Activate
Set rng = csatSum.Range("A2:A" & lastRow)
rngLastRow = Comments.Range("B2:B" & lastRow)
For i = 2 To lastRow
    On Error Resume Next
    csatSum.Cells(i, 5) = WorksheetFunction.VLookup(rng, Comments.Range(rngLastRow), 2, False)
    On Error GoTo 0
Next i

不确定我错过了什么。显然它是VLookup本身的东西。但我不知所措。

1 个答案:

答案 0 :(得分:3)

我认为应该是:

scores.UsedRange.Columns.Copy
csatSum.Range("A1").Insert
'csatSum.Activate
'Set rng = csatSum.Range("A2:A" & lastRow)
Set rngLastRow = Comments.Range("A2:B" & lastRow)
For i = 2 To lastRow
    On Error Resume Next
    csatSum.Cells(i, 5) = WorksheetFunction.VLookup(csatSum.Cells(i, 1), rngLastRow, 2, False)
    On Error GoTo 0
Next i