首页 > 解决方案 > Excel宏,插入每一行

问题描述

我无法将电子商务商店中的订单 Excel 转换为我们的财务软件可以读取的格式。我在下面放了两张图片。第一个显示了我们商店订单的导出。第二个显示了我们财务软件所需的结果。宏应在每个现有行下方添加一个新行。在那个新行中,它应该

应该对每个现有行重复此过程。我已经花了几个小时试图调整现有的宏,但我只设法添加空白的新行......如果有人可以帮助我,那就太棒了。

此图片提供了一个示例,说明我们的电子商务商店的出口外观

这是我需要能够在我们的财务软件中上传订单的格式

标签: excelvba

解决方案


您所需要的只是一个简单的循环,它将从底行到第二行读取您的工作表。

在每次迭代中,插入一个新行并写入该新行。

如果您有一个大型数据集,您可能希望先将工作表放入数组中,在数组中进行更改,然后重新写入工作表。

但这应该做你需要的......

Option Explicit

Sub test()

    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")

    Dim r As Long

    With ws
        For r = lastRow(ws) To 2 Step -1
            .Rows(r + 1).Insert
            .Cells(r + 1, 2) = 499027
            .Cells(r + 1, 8) = .Cells(r, 8) * -1
            .Cells(r + 1, 12) = .Cells(r, 12)
        Next
    End With

End Sub

Function lastRow(ws As Worksheet, Optional col As Variant = 1) As Long
    With ws
        lastRow = .Cells(.Rows.Count, col).End(xlUp).Row
    End With
End Function

在此处输入图像描述


推荐阅读