2012-06-27 92 views
0

我想填充一個公式,我在D1中填充D的長度爲C.我使用follwing宏,我得到以下錯誤 - 編譯錯誤:預計結束與自動填充宏到長度

Sub Macro3() 

Macro3 Macro 



    Range("D1").Select 
    ActiveCell.FormulaR1C1 = "=RC[-2]*(-1)+RC[-1]" 
    Range("D1").Select 

    Dim LastRow As Long 

    With Sheets("Sheet2") 
    LastRow = Range("C" & Rows.Count).End(xlUp).Row 
    Range("D1").AutoFill Destination:=Range("D2:D" & LastRow) 
End Sub 
+1

我要出去在這裏肢體,並說這個錯誤意味着你需要用''with'語句結束'。 – gkiar

+0

我離開的帖子,將更新,但我仍然得到一個錯誤 –

回答

3

你的問題很簡單。我用宏錄製自動填寫一式的範圍和發現目標範圍的一級方程式範圍開始,所以

Range("D1").AutoFill Destination:=Range("D2:D" & LastRow) 

應該是:

Range("D1").AutoFill Destination:=Range("D1:D" & LastRow) 

這裏是工作的代碼,固定和清理有點:)

Sub Macro3() 

With Sheets("Sheet1") 

    Dim LastRow As Long 
    LastRow = Range("C" & Rows.Count).End(xlUp).Row 

    With Range("D1") 
    .FormulaR1C1 = "=RC[-2]*(-1)+RC[-1]" 
    .AutoFill Destination:=Range("D1:D" & LastRow) 
    End With 

End With 

End Sub 
+1

+1擊敗我吧!關於錄製宏的好消息;這是在任何情況下調試自己的代碼的好方法。 – Gaffi