Excel 根据一系列数据动态复制和复制

Excel 根据一系列数据动态复制和复制,excel,copy,row,Excel,Copy,Row,我发现了如何进行复制,但不能根据一系列数据进行复制和复制,当数据发生变化时,复制第一行并插入数据 我有一组没有父sku的子sku,我正在尝试找出将父sku插入子sku上方的最佳方法 这是我的数据示例,其中以我需要的方式插入了行: 36377-CSG/PDB-46 36377CSG/PDB46 ABC Brand ABC Product [S]Size=34,[S]Color=Cobblestone Grey/ Peacoat Dark Blue 36377 36377-CSG

我发现了如何进行复制,但不能根据一系列数据进行复制和复制,当数据发生变化时,复制第一行并插入数据

我有一组没有父sku的子sku,我正在尝试找出将父sku插入子sku上方的最佳方法

这是我的数据示例,其中以我需要的方式插入了行:

36377-CSG/PDB-46    36377CSG/PDB46  ABC Brand   ABC Product     [S]Size=34,[S]Color=Cobblestone Grey/ Peacoat Dark Blue 36377
36377-CSG/PDB-46    36377CSG/PDB46  ABC Brand   ABC Product     [S]Size=34,[S]Color=Cobblestone Grey/ Peacoat Dark Blue 36377
36377-AG/BL-46      36377AG/BL46    ABC Brand   ABC Product     [S]Size=34,[S]Color=Ash Grey/Black  36377
36377-AG/BL-36      36377AG/BL36    ABC Brand   ABC Product     [S]Size=24,[S]Color=Ash Grey/Black  36377
36377-AG/BL-44      36377AG/BL44    ABC Brand   ABC Product     [S]Size=32,[S]Color=Ash Grey/Black  36377
36377-CSG/PDB-44    36377CSG/PDB44  ABC Brand   ABC Product     [S]Size=32,[S]Color=Cobblestone Grey/ Peacoat Dark Blue 36377
36377-CSG/PDB-34    36377CSG/PDB34  ABC Brand   ABC Product     [S]Size=22,[S]Color=Cobblestone Grey/ Peacoat Dark Blue 36377
36377-AG/BL-38      36377AG/BL38    ABC Brand   ABC Product     [S]Size=26,[S]Color=Ash Grey/Black  36377
36377-AG/BL-42      36377AG/BL42    ABC Brand   ABC Product     [S]Size=30,[S]Color=Ash Grey/Black  36377
36377-CSG/PDB-40    36377CSG/PDB40  ABC Brand   ABC Product     [S]Size=28,[S]Color=Cobblestone Grey/ Peacoat Dark Blue 36377
36377-CSG/PDB-42    36377CSG/PDB42  ABC Brand   ABC Product     [S]Size=30,[S]Color=Cobblestone Grey/ Peacoat Dark Blue 36377
36377-AG/BL-40      36377AG/BL40    ABC Brand   ABC Product     [S]Size=28,[S]Color=Ash Grey/Black  36377
36377-CSG/PDB-36    36377CSG/PDB36  ABC Brand   ABC Product     [S]Size=24,[S]Color=Cobblestone Grey/ Peacoat Dark Blue 36377
36377-CSG/PDB-38    36377CSG/PDB38  ABC Brand   ABC Product     [S]Size=26,[S]Color=Cobblestone Grey/ Peacoat Dark Blue 36377
24503-PFPI-85       24503PFPI85     ABC Brand   DEF Product     [S]Size=51,[S]Color=Parfait Pink    24503
24503-PFPI-85       24503PFPI85     ABC Brand   DEF Product     [S]Size=51,[S]Color=Parfait Pink    24503
24503-SPG-95        24503SPG95      ABC Brand   DEF Product     [S]Size=57,[S]Color=Steel Grey  24503
24503-PFPI-95       24503PFPI95     ABC Brand   DEF Product     [S]Size=57,[S]Color=Parfait Pink    24503
24503-PFPI-105      24503PFPI105    ABC Brand   DEF Product     [S]Size=60,[S]Color=Parfait Pink    24503
24503-SPG-115       24503SPG115     ABC Brand   DEF Product     [S]Size=66,[S]Color=Steel Grey  24503
24503-SPG-75        24503SPG75      ABC Brand   DEF Product     [S]Size=45,[S]Color=Steel Grey  24503
24503-SPG-125       24503SPG125     ABC Brand   DEF Product     [S]Size=69,[S]Color=Steel Grey  24503
24503-SPG-85        24503SPG85      ABC Brand   DEF Product     [S]Size=51,[S]Color=Steel Grey  24503


我需要的是,每次g列中的SKU更改时,都要将该集合的整个顶行复制并插入到该集合的上方。复制并插入上面的哪一行并不重要,只要它是其中任何一行的副本。例如,在G 24503列中,它将复制第16行,插入新行,并将第16行的内容复制到第16行之上。对于G列中的每一组新SKU,它都会这样做。我不需要每一行都复制,只需要为每一组复制一行。希望这是有道理的。如果我已经有办法粘贴到父sku中,我只需要在每个部分复制并插入该行(但不是空行,它需要是整个行。

完全自动插入可能最好由事件宏处理

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Columns(7)) Is Nothing Then  '<~~something happened in column G
        On Error GoTo bm_Safe_Exit
        Application.EnableEvents = False
        Dim fPos As Long, pSku As Range
        For Each pSku In Intersect(Target, Columns(7))
            fPos = Application.Match(pSku.Value2, Columns(7), 0)
            If Application.CountIf(Columns(1), Cells(fPos, 1).Value2) = 1 Then
                With Cells(fPos, 1).Resize(1, 7)
                    .Copy
                    .Insert Shift:=xlDown
                End With
            End If
        Next pSku
        Application.CutCopyMode = False
    End If
bm_Safe_Exit:
    Application.EnableEvents = True
End Sub
Private子工作表\u更改(ByVal目标作为范围)

如果不相交(目标,列(7))什么都不是,那么“对不起,堆栈溢出不允许我发布剪报或图像,所以它将所有数据一起运行!很抱歉,我想你在我编辑它时更新了它。”。