我需要一个宏,它会复制电子表格中的每个唯一行,并在原始复制行的正下方的两行中插入复制的行,然后对其后的每一行重复。
如果宏还可以输入以下文本字符串,那将是很好的 - “(A)”在原始复制行中,“(B)”在第二行中,“(C)”在第三行中。
文本字符串部分非常重要,因为如果需要,我总是可以使用连接公式。
我想要实现的屏幕截图:
答案 0 :(得分:1)
假设数据在A列中,并且您希望结果在C列(根据您的图片),这应该有效:
Public Sub doIt()
Dim data As Variant
Dim modifiedData As Variant
Dim i As Long
Dim j As Long
data = ActiveSheet.UsedRange.Columns(1)
ReDim modifiedData(1 To (UBound(data, 1) - 1) * 3 + 1, 1 To 1) As Variant
modifiedData(1, 1) = data(1, 1) 'header
j = 2
For i = 2 To UBound(data, 1)
modifiedData(j, 1) = "(A) - " & data(i, 1)
modifiedData(j + 1, 1) = "(B) - " & data(i, 1)
modifiedData(j + 2, 1) = "(C) - " & data(i, 1)
j = j + 3
Next i
With ActiveSheet
.Cells(1, 3).Resize(UBound(modifiedData, 1), 1) = modifiedData
End With
End Sub