我正在尝试编写一个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])
?
注意:我不想只在单元格中包含值。我需要它,所以有一个显示结果的有效公式。
答案 0 :(得分:3)
似乎您正在尝试执行以下操作:
Dim lrows As Long
lrows = Range("A3").End(xlDown).Row - 1
Range("A" & lrows + 1).Formula = "=AVERAGE(B5:B" & lrows & ")"
您应该避免在代码中使用SELECT
ing和ACTIVATE
ing单元格,这样会减慢其速度并降低其可靠性。