Excel宏/ VBA-复制所选行并添加重复值

时间:2018-11-08 09:13:43

标签: excel vba

我试图自动化一些繁琐的工作任务,即复制选定的行,然后在每行中添加一个额外的值,而我只能停留在后一部分。

如下所示,我能够复制所选行,但是当我添加一个并发值时,偏移不会对齐。

理想情况下,我希望它复制该行,分配一个大小值,然后为每种大小重复该值,然后再使用一种新样式。

有人能指出我正确的方向吗?这是我的位置:

server.host: 0.0.0.0

初始数据 Initial Data

当前结果:

Current result

所需结果:

Ideal outcome

1 个答案:

答案 0 :(得分:1)

您可以这样做。

因此,我使用Array函数填充大小值,因此我们不需要任何虚拟列。

VBA代码:

Sub RepeatRepeat()

Dim myArrayVal()
Dim i As Long
Dim j As Long
Dim k As Long
Dim lrow As Long
Dim lrow2 As Long

myArrayVal() = Array("X-Small", "Small", "Medium", "Large", "X-Large", "XX-Large")

lrow = Cells(Rows.Count, 1).End(xlUp).Row 'find last row in Column A

j = 2
For j = 2 To lrow
    lrow2 = Cells(Rows.Count, 9).End(xlUp).Row + 1 'Find last row in column I
    For k = LBound(myArrayVal) To UBound(myArrayVal) 'Loop Array
        Cells(lrow2, 9).Value = myArrayVal(k) 'Print Array value
        Cells(lrow2, 8).Value = Cells(j, 2).Value 'Copy from Column B to Column H
        Cells(lrow2, 7).Value = Cells(j, 1).Value 'Copy from Column B to Column H
        lrow2 = lrow2 + 1 'Add one to last row
    Next k
Next j
End Sub

结果:

enter image description here