【发布时间】:2012-02-01 16:05:36
【问题描述】:
我是 VBA 的新手,无法理解最有效的方法 - 我正在寻找一种根据频率将数据复制到活动单元格下方的行的方法。
样本数据如下:
Name Value Frequency Date
Steve 10 Annual 01/03/2012
Dave 25 Quarterly 01/03/2012
Sarah 10 Monthly 01/03/2012
Gavin 27 Quarterly 01/04/2012
在这种情况下,我想做的是让 Sarah 在 2013 年 3 月之前以一个月的增量添加所有行。这意味着从 2012 年 4 月到 2013 年 3 月添加 12 行,包括名称、值和频率保持不变。
对于史蒂夫,我想在 2013 年 3 月添加一行 对于 Dave,我想添加 3 行(每三个月一个)
如果第一个日期改为 2012 年 4 月 1 日,频率为每年一次。我不想补充任何内容,因为 2013 年 3 月之前没有其他日期。
对于上述示例,输出将是:
Name Value Frequency Date
Steve 10 Annual 01/03/2012
Steve 10 Annual 01/03/2013
Dave 25 Quarterly 01/03/2012
Dave 25 Quarterly 01/07/2012
Dave 25 Quarterly 01/11/2012
Dave 25 Quarterly 01/03/2013
Sarah 10 Monthly 01/03/2012
Sarah 10 Monthly 01/04/2012
Sarah 10 Monthly 01/05/2012
Sarah 10 Monthly 01/06/2012
Sarah 10 Monthly 01/07/2012
Sarah 10 Monthly 01/08/2012
Sarah 10 Monthly 01/09/2012
Sarah 10 Monthly 01/10/2012
Sarah 10 Monthly 01/11/2012
Sarah 10 Monthly 01/12/2012
Sarah 10 Monthly 01/01/2013
Sarah 10 Monthly 01/02/2013
Sarah 10 Monthly 01/03/2013
Gavin 27 Quarterly 01/04/2012
Gavin 27 Quarterly 01/08/2012
Gavin 27 Quarterly 01/12/2012
提前致谢!
【问题讨论】:
-
不是每三个月每季度一次吗?
-
这对我来说就像一场噩梦,你需要的代码并不难,但是……可读性、实用性、布局和维护都是有问题的。考虑更改您的设计,可能会分布在多张工作表上,并使用一张原始数据表格并在另一张表格上展示。
-
@Wilhelm - 绝对(在漫长的一天结束时写了这个!)
-
@Reafidy - 也许最简单的实现是拥有一个仅对活动单元格执行此操作的函数,我们正在查看底部的数据?
标签: vba excel copy excel-2007