根据列的单元格值插入行

时间:2018-12-10 11:38:00

标签: excel vba insert

我是VBA的新手,因为我的要求没有被公式满足,所以请尝试一下。 根据E列中E2..E3 ..单元格中的条目,将新行插入到另一张工作表中。还将A,B和C的值分别从工作表1复制到工作表2的A,C,D。工作表2的B列将/应该自动生成订单项编号。 例如:如果工作表1中的E2 = 2,则要添加2个新行,并将工作表1的A2,B2和C2的复制数据添加到工作表2。

请检查所附图像: Sheet1

Sheet2

经过论坛帮助后,我尝试了一些编码,但这仅适用于一个单元格值,但是我需要为每个单元格值工作的代码。我无法做到。订单项编号(Col B)也像3..2..1而不是1..2..3。 请检查代码: Code

关于, 克里希(Krish)

1 个答案:

答案 0 :(得分:0)

'Hope this Works for you


Sub transfer_data()

Dim arr() As Variant
Dim cnt, n As Long
arr = Application.Transpose(Application.Transpose(Sheets("Sheet1").Range("A2:E22")))

n = 1
i = 0

For i = LBound(arr) To UBound(arr)
    Sheets("Sheet2").Range("A" & n).Value = arr(i, 1)
    Sheets("Sheet2").Range("B" & n).Value = arr(i, 5)
    Sheets("Sheet2").Range("c" & n).Value = arr(i, 3)
    Sheets("Sheet2").Range("D" & n).Value = arr(i, 2)
    cnt = arr(i, 5)
    n = n + cnt
Next i

End Sub