2013-09-24 152 views
2

我試圖創建一個宏,它將單元格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 

回答

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 

更改代碼,按您的需求

+0

我需要什麼改變'範圍(「A500000」)'來? – user2273278

+0

查看我的更新代碼..我測試了上面的代碼和它的工作良好。 –

+0

如果您使用的是excel,那麼將其更改爲範圍(「A65536」),或者如果您使用excel 2007或更高版本,則使用範圍(「A1048576」) –

相關問題