2013-12-16 85 views
1

我有關於自動填充宏的以下問題。使自動填充宏更加動態

首先,我試圖錄制宏:

'Sub bbbbbbbbb() 
' 
' bbbbbbbbb Macro 
' 

' 
    Range("I15").Select 
    Selection.AutoFill Destination:=Range("I15:I45") 
    Range("I15:I45").Select 
End Sub' 

其次,我試圖修改它變得更有活力:我改變了代碼如下(例如,如果我的數據增加至100)

'Sub aaaaaaaaaaa() 
' 
' aaaaaaaaaaa Macro 
' 

' 
    Range("I15").Select 
    Selection.AutoFill Destination:=Range(Selection, Selection.End(xlDown)) 

End Sub' 

問題是它不適用於我的最後數據的結束,但是對於我的excel工作表的結尾,任何人都可以建議嗎?非常感謝

回答

0

像這也許

Sub YourMacro() 

    Range("I15").AutoFill Range("I15:I" & Range("I" & Rows.Count).End(xlUp).Row) 

End Sub 

所以你不需要使用.Select

+0

它應該是Range(「H」&Rows.Count).End(xlUp).Row,對嗎?我改爲H然後它工作 – user3045580

+0

可能,我怎麼知道:) – 2013-12-16 09:40:24

+0

另外,我有一個問題在這裏,如果H列包含2表(由中間空單元格分開),當我執行宏,它也適用於第二張桌子(包括中間的空白空間),反正只適用於第一張桌子?非常感謝。 – user3045580

0

這是我用,但沒有AutoFill

Dim lrow as long 

'-->Determine the last row based on a reference row. In this case it's Column H. 
lrow = Range("H" & Rows.Count).End(xlUp).Row 
Range("I15:I" & lrow).Formula = "=Formula or Value you wish to autofill" 

希望這可以幫助你得到你想要的。