不要将公式应用于最后一行

时间:2017-04-20 21:22:13

标签: excel excel-vba excel-formula insert row vba

我正在尝试添加最后一行,然后将公式放在最后一行的特定单元格中。当我运行我所拥有的东西时,它会将公式添加到OLD的最后一行,而不是我新创建的那一行。你能帮忙吗?

Sub AddDataRow()

    Dim tableName As String
    Dim sheet As Worksheet
    Dim table As ListObject
    Dim lastRow As Range

    tableName = ActiveSheet.ListObjects(1)
    Set sheet = Range(tableName).Parent
    Set table = sheet.ListObjects.Item(tableName)

    If table.ListRows.Count > 0 Then
        Set lastRow = table.ListRows(table.ListRows.Count).Range
        If Application.CountBlank(lastRow) < lastRow.Columns.Count Then
            table.ListRows.Add
        End If
    End If

     lastRow.Columns("L").Formula = "=A1+B1"

End Sub

1 个答案:

答案 0 :(得分:0)

如果添加一行,则最后一行向下移动一行。

您需要在lastRow.Columns("L").Formula = "=A1+B1"之前再次确定最后一行。

在上一行之前添加另一个Set lastRow = table.ListRows(table.ListRows.Count).Range