如何在范围中插入新行并复制公式

Sam*_*l G 7 excel vba excel-vba

我有一个命名范围,如下面的A2:D3

ITEM    PRICE   QTY SUBTOTAL
1           10  3   30
1           5   2   10
           TOTAL:   40
Run Code Online (Sandbox Code Playgroud)

我将使用VBA插入一个新行到复制公式而不是值的范围.

任何提示/链接非常感谢.

mar*_*arg 11

这应该这样做:

Private Sub newRow(Optional line As Integer = -1)
Dim target As Range
Dim cell As Range
Dim rowNr As Integer

    Set target = Range("A2:D3")

    If line <> -1 Then
        rowNr = line
    Else
        rowNr = target.Rows.Count
    End If

    target.Rows(rowNr + 1).Insert
    target.Rows(rowNr).Copy target.Rows(rowNr + 1)
    For Each cell In target.Rows(rowNr + 1).Cells
        If Left(cell.Formula, 1) <> "=" Then cell.Clear
    Next cell
End Sub
Run Code Online (Sandbox Code Playgroud)