以编程方式自动填充一列

时间:2013-03-01 03:08:44

标签: excel excel-vba vba

我的目标应该很容易。只需将一列自动填充到特定行:

Range("A3:C3").Select
Selection.AutoFill Destination:=Range("A3:C" & RowCount)

该代码块完美运行。但我想要的是自动填充三列,因为每个列都有不同的RowCount。我试过了:

Range("A3").Select
Selection.AutoFill Destination:=Range("A3:A" & RowCount)

但我得到Run-time error '1004': Method 'Range' of object '_Global' failed

1 个答案:

答案 0 :(得分:4)

下面的代码对我没有任何问题。我遇到错误消息的唯一方法就是将rowcount设置为产生无效地址的值(如“A3:A0”)。

  Sub FillIt()
      Dim RowCount As Long
      RowCount = 10
      Range("A3:A4").AutoFill Destination:=Range("A3:A" & RowCount)
  End Sub

.Autofill方法如何填充系列有几种选择。

上面的代码假定所需范围的前两个单元格包含该系列的前两个值。例如,如果A3 = 1且A3 = 2,则Excel假定您需要一系列连续的整数1,2,3 ......如果值为1且为空,则结果系列将为1,空白, 1,空白等

可以使用可选的“类型”参数指定如何填充系列。代码中的填充方法等同于设置Type:=xlFillDefault。还有其他几种填充类型,例如xlFillSeries,xlFillCopy和xlFillLinearTrend。有关这些内容的完整列表,请参阅Microsoft的reference page