最后一个单元格被忽略的数字值

时间:2017-05-02 14:50:12

标签: excel vba excel-vba excel-2013

我有一个电子表格,其中有多个主键上的主键,其中的项目与主键相关联。我想基于主键将这些数据合并为一行。如果找到相同的主键,我想扫描上一行中包含数据的最后一个单元格并复制该数据,然后删除包含主键的第二行。我尝试了这种语法,但是一旦运行完成,复制的数据就没有与主键正确排列。我会有空白吗?

什么是VBA语法将列B-D移动到G列中第一个主键实例的最后一行+ 1?

Sub CombineDuplicateKeys()
Application.ScreenUpdating = False
Dim i As Long, LastCol As Integer, RowFirst As Integer

For i = Range("A" & Rows.Count).End(3).Row To 2 Step -1
If Not IsEmpty(Cells(i, "G").Value) Then
If Cells(i, "G").Value = Cells(i - 1, "G").Value Then
    RowFirst = Columns(7).Find(What:=Cells(i, "G").Value, LookAt:=xlWhole, SearchDirection:=xlNext, MatchCase:=False).Row
    Range("B" & i & ":D" & i).Copy
    With ActiveSheet
        LastCol = .Cells(RowFirst, .Columns.Count).End(xlToLeft).Column
    End With
    Cells(RowFirst, LastCol + 1).Insert
    Rows(i).Delete
End If
End If
Next i
End Sub

0 个答案:

没有答案