Excel 2010 VBA基于已定义的变量在指定单元格中重复公式

时间:2013-01-02 21:43:29

标签: excel vba variables repeat

还问过here

我的导出带有“报告段”,每个行总共22行,第一行总是从第5行开始进入Excel。最后一行(包含“报告结束”特殊字符)为247的文档将有11个报告段。

在每个报告细分中,需要两种不同的公式。

对于第一个报告细分,始终位于A5至J27行:

在Excel 2010中使用VBA,我需要将FORMULA1放在范围的所有单元格中(D5:D15拖出到H5:H10(不是15)和D18)和单元格中的FORMULA2(F20:F22,J20:J22)

然后我需要重复 vTaskCount 次数(段数)并且间隔为22(段重复器偏移量)。有些报告可能有两个部分,有些可能有50个,但结构总是相同的。我希望,因为我可以告诉它重复这个过程的次数,它会使它变得更简单。

1 个答案:

答案 0 :(得分:2)

尝试这样的事情:

sub whatever()
dim lNumSegs as long, lLoop as long

lNumSegs=(cells(rows.count,1).end(xlup).row-5)/22

for lLoop =1 to lnumsegs
   range(D5:D15).offset((lloop-1)*22).formular1c1="=FOrmula1"
   range(H5:H10).offset((lloop-1)*22).formular1c1="=FOrmula1"
   range(D18).offset((lloop-1)*22).formular1c1="=FOrmula1"

   range("F20:F22,J20:J22").offset((lloop-1)*22).formular1c1="=FOrmula2"
next lloop

end sub