复制整行并使用第一行中的数据为每行创建 10 个新行

问题描述 投票:0回答:1

我需要为每行添加 9 个空白行。我可以添加空白行,但我希望将包含数据的行中的数据粘贴到每行中,并添加行计数。这将为我提供总共 10 行,编号为 0-9,工作簿中每行的数据相同。

我可以创建空白行,但它们是空白的。我想要 10 个重复行,而不是 1 个有数据的行和 9 个空白行。

excel vba
1个回答
0
投票
Option Explicit

Sub Demo()
    Dim i As Long, j As Long, k As Long
    Dim arrData, arrRes, iR As Long
    Const START_ROW = 2 ' the first data row#
    Const CNT_ROW = 10 ' quantity of each batch
    Dim oSht As Worksheet
    Set oSht = Sheets("Sheet1") ' modify as needed
    ' loop data into array
    arrData = oSht.Range("A1").CurrentRegion.Value
    ReDim arrRes(1 To UBound(arrData) * 10, 1 To UBound(arrData, 2))
    ' loop through data
    For i = START_ROW To UBound(arrData)
        For k = 1 To 10
            iR = iR + 1
            arrRes(iR, 1) = k - 1
            For j = LBound(arrData, 2) + 1 To UBound(arrData, 2)
                arrRes(iR, j) = arrData(i, j)
            Next
        Next
    Next i
    Sheets.Add
    ' Copy header
    oSht.Rows(1).Copy ActiveSheet.Range("A1")
    ' Write data to sheet
    Range("A2").Resize(iR, UBound(arrData, 2)) = arrRes
    '    ActiveSheet.UsedRange.EntireColumn.AutoFit
End Sub

© www.soinside.com 2019 - 2024. All rights reserved.