合并重复记录,然后使用vlookup从另一张表中提取数据

时间:2019-08-31 04:14:27

标签: excel vba vlookup

我正在尝试合并到重复的记录,然后连接并汇总列,然后在循环中我想更新列以使用vlookup从另一张纸中提取数据。代码错误超出范围。

Sub CombineDuplicateRecords()
    Dim lngRow As Long

    With ActiveSheet
        Dim columnToMatch As Integer: columnToMatch = 1
        Dim columnToConcatenate As Variant: columnToConcatenate = 2
        Dim columnToSum As Integer: columnToSum = 13
        Dim columntoUpdate As Variant: columntoUpdate = 14

        lngRow = .Cells(65536, columnToMatch).End(xlUp).Row
        .Cells(columnToMatch).CurrentRegion.Sort key1:=.Cells(columnToMatch), Header:=xlYes

        Do
            If .Cells(lngRow, columnToMatch) = .Cells(lngRow - 1, columnToMatch) Then
                .Cells(lngRow - 1, columnToConcatenate) = .Cells(lngRow - 1, columnToConcatenate) & ", " & .Cells(lngRow, columnToConcatenate)
                .Cells(lngRow - 1, columntoUpdate) = Application.WorksheetFunction.VLookup(.Cells(lngRow - 1, 1), Sheets(Sheet2).Range("A13:Z"), columnToUpdate, False)
                .Cells(lngRow - 1, columnToSum) = .Cells(lngRow - 1, columnToSum) + .Cells(lngRow, columnToSum)
                .Rows(lngRow).Delete
            End If

            lngRow = lngRow - 1
        Loop Until lngRow = 1
    End With

End Sub
  

超出范围

0 个答案:

没有答案