excel - 如何使用宏复制每一行

Tom*_*Tom 1 excel vba

我有带有N + 1行的Excel表格,其中列A具有唯一的ID N.

我需要复制每一行,以便在一行N下面将有三个具有唯一ID的新行Nb,Nc,Nd

例如样本输入行:

id1    data here 
id2    data2 here 
Run Code Online (Sandbox Code Playgroud)

例如样本输出:

id1    data here 
id1-b  data here 
id1-c data here
id1-d data here
id2    data2 here 
id2-b  data2 here 
id2-c data2 here
id2-d data2 here
Run Code Online (Sandbox Code Playgroud)

Adr*_*der 5

你可以尝试这样的事情

Sub Macro1()
Dim sheet As Worksheet
Dim usedRange As Range

    Set sheet = ActiveSheet
    Set usedRange = sheet.usedRange

Dim i As Integer

    For i = 1 To usedRange.Rows.Count
        Dim row As Range
        Set row = usedRange.Rows(((i - 1) * 4) + 1)

        Dim iCopy As Integer

        For iCopy = 1 To 3
            row.Copy
            Dim insertRow As Range
            Set insertRow = usedRange.Rows(((i - 1) * 4) + 1 + iCopy)
            insertRow.insert xlDown
            Dim copiedRow As Range
            Set copiedRow = usedRange.Rows(((i - 1) * 4) + 1 + iCopy)
            copiedRow.Cells(1, 1) = copiedRow.Cells(1, 1) & "-" & Chr(97 + iCopy)

        Next iCopy
    Next i
End Sub
Run Code Online (Sandbox Code Playgroud)