首页 文章

根据列的单元格值插入行

提问于
浏览
-1

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

请查看附件图片:Sheet1

Sheet2

在浏览完论坛帮助之后,我尝试了一些编码,但这仅适用于一个单元格值,但我需要使用代码来处理每个单元格值 . 这是我无法做到的 . 此外,行项目编号(Col B)将为3..2..1而不是1..2..3 . 请检查代码:Code

问候,克里什

1 回答

  • 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
    

相关问题