繁体   English   中英

Vba:使用动态范围查找百分比变化

[英]Vba: Find a percent change using a dynamic range

我有三个数据范围:D14:F28,H14:J28和L14:N28。 我编写了一个宏,该宏在第14行附加了新的一年的数据,从而将范围扩大到:D14:F29,H14:J29和L14:N29。

我正在尝试开发另一个宏,该宏计算每个范围内每列的百分比变化,并将百分比变化从最后一个具有数据的单元格向下放置两个单元格(例如(D14-D29)/ D31等中的D29)。 问题是我需要公式是动态的,以便将下一年的数据追加到表中时,每个新范围内每列的百分比变化都将从上一个包含数据的最后一个单元格向下放两个单元格(例如(D32等中的(D14-D30)/ D30等)。 当使用宏时,明年的数据也会发生同样的事情,依此类推。

这是我想出的代码:

Sub Percent_change_Calculation()
iRow = 14
Cell_val = Cells(iRow, 4)

While Cell_val <> ""
    iRow = iRow + 1
    Cell_val = Cells(iRow, 4)
Wend
Cells(iRow + 1, 4) = "=(D14-iRow)/iRow"
End Sub

但是它不计算百分比变化和“ #NAME?” 在单元格中输入。 从好的方面来说,我希望它位于单元格中。

我在这里先向您的帮助表示感谢,

Sub Percent_change_Calculation()

    With Cells(14, 4).End(xlDown)

        .Offset(2, 0).Formula = Replace("=(D14 -{a})/{a}", _
                               "{a}", .Address(False, False))
    End With

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM