【发布时间】:2017-08-19 08:20:37
【问题描述】:
我想为给定的开始和结束期间生成月末明智数据;不同申请人的月数不同。
以下数据由用户输入生成,每个申请人的数量可能有所不同:
“A”列——月结日
“B”栏——EMI
“C”列——兴趣部分
“D”列——主要部分
等等。
我还想计算最后每列的总和,以及根据“A”列的行数改变工作表大小的行。请帮忙。
Sub GenerateDates()
Dim startDate As Date
Dim endDate As Date
Dim currentDate As Date
startDate = Range("b4").Value
endDate = Range("b8").Value
currentDate = startDate
Range("a17").Select
Do Until currentDate = endDate
ActiveCell.Value = currentDate
ActiveCell.Offset(1, 0).Select
'currentDate = DateAdd("m", 1, currentDate)
currentDate = DateSerial(Year(currentDate), Month(currentDate) + 2, 0)
Loop
End Sub
【问题讨论】:
-
考虑到您的要求,数据透视表似乎可以解决问题。将您的数据转换为 Excel 表格,插入数据透视表,在行区域中拖动日期列并按月份对日期进行分组,然后将列拖到需要汇总的值区域中。
-
没有数据,一旦填写了几个字段就会生成数据,一旦为一个申请人生成数据,我必须计算每列的总和并在另一张表中过去,然后我必须计算另一个申请人等等..
-
@anil,您的问题似乎是知道 A 列的最后一行?并使用最后一列对其他列 B、C、D ... 求和?
-
@anil 那又怎样?您也可以基于空 Excel 表创建数据透视表。您开始填充表格并刷新数据透视表,如果数据透视表满足您的要求,这就是您所需要的。