2016-12-31 161 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)的最後一行?如果這就是你的意思,請參閱編輯的代碼 –