excel 如何使用VBA在具有动态范围的动态单元格中创建=AVERAGE公式?

dxxyhpgq  于 2022-11-18  发布在  其他
关注(0)|答案(2)|浏览(169)

我正在尝试编写一个Sub,它允许我在每次运行宏时替换一个公式。
我可以使用以下选项选择所需的范围:

Range("A3").Select
Selection.End(xlDown).Select
Range("B5", ActiveCell.Offset(-1, 1)).Select

我可以使用以下公式找到要在其中输入公式的单元格:

Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(2, 1).Activate

有没有办法让公式变成=AVERAGE([selected range])

注意:我不想只在单元格中有值。我需要有它,以便有一个活动的公式显示结果。

ivqmmu1c

ivqmmu1c1#

看起来您正在尝试执行以下操作:

Dim lrows As Long

lrows = Range("A3").End(xlDown).Row - 1

Range("A" & lrows + 1).Formula = "=AVERAGE(B5:B" & lrows & ")"

你应该避免在你的代码中使用SELECT ing和ACTIVATE ing单元格,这会降低代码的速度和可靠性。

yv5phkfx

yv5phkfx2#

您也可以使用公式. worksheetfunciton.Average(“选择范围”)

相关问题