自动填充到列的最后一行

时间:2013-09-24 03:03:07

标签: excel vba excel-vba

我试图创建一个宏,将单元格C2编辑为0,然后自动填充到列减去1的最后一行(带有j的行)。该代码适用于3组记录,但是当有更多数据集时,它不会自动填充到最后一行。例如,如果有4条记录,它将仅自动填充到第3行,第4行仍将具有其旧值。我如何制作它,以便在记录数量发生变化时填充到最后一行。

数据:

ID  |  NAME  | CODE
1   |  JON   | 200
2   |  ANNA  | 300
3   |  TIM   | 400
jjj | jjjjjj | jjjjj

代码:

Dim codeCol as Long

range("C2").Select
ActiveCell.FormulaR1C1 = "0"
codeCol = Cells(1, Columns.Count).End(xlToLeft).Column
Selection.AutoFill Destination:=range("C2:H" & codeCol - 6), Type:=xlFillDefault

输出:

ID  |  NAME  | CODE
1   |  JON   | 0
2   |  ANNA  | 0
3   |  TIM   | 0
jjj | jjjjjj | jjjjj

1 个答案:

答案 0 :(得分:4)

经过测试

试试这个

Sub test()
With ActiveSheet
 ' range("A" & rows.count).end(xlup).row)  - tells the position of last used row in A column

.Range("C2:C" & .Range("A" & Rows.Count).End(xlUp).Row).FormulaR1C1 = "0"
End With
End Sub

根据您的需要更改代码