2016-12-31 157 views
0

我想添加一个新列,然后用系列号自动填充新添加的列。我正在使用下面的代码,但自动填充在我的Excel中完全没有执行。在EXCEL中自动填充

Sub Macro7() 

Columns("A:A").Select 
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove 

Range("A1").Select 
ActiveCell.FormulaR1C1 = "Sr. No" 
Dim LR As Long, i& 
LR = Range("B" & Rows.Count).End(xlUp).Row 
Range("A2").AutoFill Destination:=Range("A2:A" & LR) 

End Sub 

回答

0

为了填写上面单元格中的值或公式,请使用FillDown

此外,您应该使用引用对象,而不是使用SelectSelectionActiveCell直接对它们执行操作。即,而不是Range("A1").SelectActiveCell.FormulaR1C1 = "Sr. No",你可以写Range("A1").FormulaR1C1 = "Sr. No"(这里没有公式,所以在这种情况下它应该是Range("A1") = "Sr. No")。

代码

Option Explicit 

Sub Macro7() 

Dim LR As Long, i& 

Columns("A:A").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove 

' find last column in Column B (with skipping blank cells in the middle) 
LR = Cells(Rows.Count, "B").End(xlUp).Row 

Range("A1") = "Sr. No" 
Range("A2").Formula = "=ROW()-1" 
Range("A2:A" & LR).FillDown 

End Sub 

编辑1

' find last column in Column B (with skipping blank cells in the middle) 
LR = Cells(Rows.Count, "B").End(xlUp).Row 

Range("A1:A" & LR).Formula = "=2*ROW(B1)-1" 
+0

现在我的A列是越来越充满 “老号”仅限于序列号。 –

+0

作为一个系列,我想把数字条目从1. –

+0

开始,所以你想用1,A3和2等填充单元格A2。直到列B中的数据(先前是列A)的最后一行?如果这就是你的意思,请参阅编辑的代码 –