我正在寻找一个 VBA Excel 宏,它将完整的行复制到另一个工作表。它需要根据单元格整数值创建该行的额外重复副本。
当您使用邮件合并来创建文档或标签的多个副本时,这非常有用。我找到了几个接近的答案,但没有一个可以复制整行
输入
第 1 列 |列2 |第 3 栏 |第 4 栏
狗 |喜欢 |猫 | 1
老鼠 |喜欢 |坚果 | 3
猫 |咀嚼|老鼠 | 2
输出
第 1 列 |列2 |第 3 栏 |第 4 栏
狗 |喜欢 |猫
老鼠 |喜欢 |坚果
老鼠 |喜欢 |坚果
老鼠 |喜欢 |坚果
猫 |咀嚼|老鼠
猫 |咀嚼|老鼠
输出 col4 中的值可能存在,对我的情况并不重要
最佳答案
假设包含数据的工作表的名称为“Sheet1”,输出工作表的名称为“Sheet2”,并且复制的次数位于 D 行中 - 此代码将起作用。您需要首先修改它以满足您的需求!
Sub DuplicateRows()
Dim currentRow As Integer
Dim currentNewSheetRow As Integer: currentNewSheetRow = 1
For currentRow = 1 To 3 'The last row of your data
Dim timesToDuplicate As Integer
timesToDuplicate = CInt(Sheet1.Range("D" & currentRow).Value2)
Dim i As Integer
For i = 1 To timesToDuplicate
Sheet2.Range("A" & currentNewSheetRow).Value2 = Sheet1.Range("A" & currentRow).Value2
Sheet2.Range("B" & currentNewSheetRow).Value2 = Sheet1.Range("B" & currentRow).Value2
Sheet2.Range("C" & currentNewSheetRow).Value2 = Sheet1.Range("C" & currentRow).Value2
currentNewSheetRow = currentNewSheetRow + 1
Next i
Next currentRow
End Sub
关于Excel vba宏根据单元格整数值多次复制行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11524408/