首页 > 解决方案 > 向已经维度化的数组添加一行

问题描述

在我的 sub 的第一部分中,我使用 lastrow + 1 将一些公式放入一行。

.Range("B" & lastrow + 1 & ":" & "I" & lastrow + 1).Value = _
                Worksheets("Sheet1").Range("C7:J7").Value

我如何声明最后一行:

Dim lastrow As Long
lastrow = FindLastRow("Sheet Name")

稍后在同一子代码中的代码中,我对该列进行了平均,但现在 lastrow 保持不变。但是我需要重做 lastrow,因为我已经向这个数据集添加了一行。我怎样才能重做这个?

标签: excelvba

解决方案


对于此示例,我使用 Sheet1 - A 列。在计算平均值之前,重新计算最后一行。请参见下面的示例:

Option Explicit

Sub test()

    Dim LR As Long
    Dim Avg As Double

    With ThisWorkbook.Worksheets("Sheet1")

        LR = .Cells(.Rows.Count, "A").End(xlUp).Row

        Avg = Application.WorksheetFunction.Average(.Range("A1:A" & LR))

    End With



End Sub

推荐阅读