我正在尝试合并到重复的记录,然后连接并汇总列,然后在循环中我想更新列以使用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
超出范围