工作表中填充公式步骤是先写好一个公式,然后用鼠标拖动进行填充。那如何用 VBA 代码给单元格填充上公式?
Range.AutoFill 自动填充 “方法”。语法:Range.AutoFill 填充区域,Type
参数1:填充区域,填充区域要包括源区域。源区域是什么?在工作表中填充公式,首先要在一个单元格中写好公式,然后拖动(或双击)进行填充,这个写了公式的单元格就是源区域。
参数2:Type 类型:常用的几项值:xlFillDefault 数字简写 0, xlFillCopy 数字简写 1, xlFillSeries数字简写 2,xlFillformats 数字简写 3,xlFillvalues 数字简写 4 。
首先要给1个单元格写入公式 Range(“E2”) = “=COUNTIF($A$2:$A$19,D2)” ;用代码给单元格写入公式双引号里面要加等号,前面的单元格不能简写为[E2]。公式中对单元格的锁定与在工作表中写公式一样。
第2条语句 Range(“E2”).AutoFill Range(“E2:E9”), xlFillDefault; 自动填充完成。
但上述语句是按行 向下填充,如果要列方向 向右填充如何写呢?
列向右填充,首先要把行方向填充完成后,然后再向列方向填充。写上第 3 条语句:Range(“E2:E9”).AutoFill Range(“E2:F9”), xlFillValues ;这样就会向右填充列方向。Range(“E2:E9”) 这个区域不能写成Range(“E2”)。
下面 讲解一下Type 参数,xlFillCopy 将源区域值与格式复制到目标区域, 效果:
xlFillDefault 填充目标区域的值和格式,在填充公式时与xlFillCopy效果一样。如下图:
xlFillSeries 效果,填充序列。对填充公式来说,此参数无效。下图反映与xlFillCopy的区别:
xlFillformats 只有将源区域的格式复制到目标区域,效果见下图:
xlFillvalues 只有将源区域的值复制到目标区域,效果见下图:
通常情况 xlFillvalues 参数用得稍多。