2013-04-10 83 views
1

您好,我在我製作的宏中遇到問題。它完美的工作,直到他開始給這個錯誤。然後當我進入調試。顯示以下字段中的錯誤: 我將在此處發佈所有代碼。運行時錯誤1004無法運行工作表類的粘貼方法

Sub Terca() 
' 
' Terca Macro 
' 
' Atalho do teclado: Ctrl+q 
' 
Range("I55").Select 
ActiveWindow.SmallScroll Down:=-33 
Range("E17").Select 
Selection.ClearContents 
Range("E18").Select 
Selection.ClearContents 
Range("F17").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-6]C[-2]:R[10]C[-2],Dados!R[-12]C[-2])" 
Range("E17").Select 
ActiveSheet.Paste !!!! <-- ERROR ---> !!!! 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-7]C[-1],Dados!R[-12]C[-1])" 
Range("F18").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-7]C[-1]:R[9]C[-1],Dados!R[-13]C[-1])" 
Range("E18").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-8]C,Dados!R[-13]C)" 
Range("F17").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-7]C[-2]:R[10]C[-2],Dados!R[-12]C[-2])" 
Range("F18").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-8]C[-1]:R[9]C[-1],Dados!R[-13]C[-1])" 
Range("E21").Select 
Selection.ClearContents 
Range("E22").Select 
Selection.ClearContents 
Range("F21").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-10]C[4]:R[6]C[4],Dados!R[-16]C[4])" 
Range("E21").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-11]C[5],Dados!R[-16]C[5])" 
Range("F22").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-11]C[1]:R[5]C[1],Dados!R[-17]C[1])" 
Range("E22").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-12]C[2],Dados!R[-17]C[2])" 
Range("F21").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-11]C[4]:R[6]C[4],Dados!R[-16]C[4])" 
Range("F22").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-12]C[1]:R[5]C[1],Dados!R[-17]C[1])" 
Range("F23").Select 
ActiveWindow.SmallScroll Down:=12 
Range("E25:E26").Select 
Selection.ClearContents 
Range("F25").Select 
ActiveCell.FormulaR1C1 = "=AVERAGE(Dados!R[-14]C[7]:R[2]C[7],Dados!R[-20]C[7])" 
Range("E25").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=AVERAGE(Dados!R[-15]C[8],Dados!R[-20]C[8])" 
Range("F26").Select 
ActiveCell.FormulaR1C1 = "=AVERAGE(Dados!R[-15]C[8]:R[1]C[8],Dados!R[-21]C[8])" 
Range("E26").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=AVERAGE(Dados!R[-16]C[9],Dados!R[-21]C[9])" 
Range("F25").Select 
ActiveCell.FormulaR1C1 = "=AVERAGE(Dados!R[-15]C[7]:R[2]C[7],Dados!R[-20]C[7])" 
Range("F26").Select 
ActiveCell.FormulaR1C1 = "=AVERAGE(Dados!R[-16]C[8]:R[1]C[8],Dados!R[-21]C[8])" 
Range("F31").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-20]C[11]:R[-4]C[11],Dados!R[-26]C[11])" 
Range("E31").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-21]C[12],Dados!R[-26]C[12])" 
Range("F32").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-21]C[12]:R[-5]C[12],Dados!R[-27]C[12])" 
Range("E32").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-22]C[13],Dados!R[-27]C[13])" 
Range("F32").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-22]C[12]:R[-5]C[12],Dados!R[-27]C[12])" 
Range("F31").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-21]C[11]:R[-4]C[11],Dados!R[-26]C[11])" 
Range("F32").Select 
ActiveWindow.SmallScroll Down:=12 
Range("F35").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-24]C[13]:R[-8]C[13],Dados!R[-30]C[13])" 
Range("E35").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-25]C[14],Dados!R[-30]C[14])" 
Range("F36").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-25]C[14]:R[-9]C[14],Dados!R[-31]C[14])" 
Range("E36").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-26]C[15],Dados!R[-31]C[15])" 
Range("F35").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-25]C[13]:R[-8]C[13],Dados!R[-30]C[13])" 
Range("F36").Select 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-26]C[14]:R[-9]C[14],Dados!R[-31]C[14])" 
Range("F37").Select 
ActiveWindow.SmallScroll Down:=6 
Range("E42:E43").Select 
Selection.ClearContents 
Range("F42").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-31]C[17]:R[-15]C[17],Dados!R[-37]C[17])" 
Range("E42").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-32]C[18],Dados!R[-37]C[18])" 
Range("F43").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-32]C[18]:R[-16]C[18],Dados!R[-38]C[18])" 
Range("E43").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-33]C[19],Dados!R[-38]C[19])" 
Range("F43").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-33]C[18]:R[-16]C[18],Dados!R[-38]C[18])" 
Range("F42").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-32]C[17]:R[-15]C[17],Dados!R[-37]C[17])" 
Range("E46:E47").Select 
Selection.ClearContents 
Range("F46").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-35]C[21]:R[-19]C[21],Dados!R[-41]C[21])" 
Range("E46").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-36]C[22],Dados!R[-41]C[22])" 
Range("F47").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-36]C[22]:R[-20]C[22],Dados!R[-42]C[22])" 
Range("E47").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-37]C[23],Dados!R[-42]C[23])" 
Range("F46").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-36]C[21]:R[-19]C[21],Dados!R[-41]C[21])" 
Range("F47").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-37]C[22]:R[-20]C[22],Dados!R[-42]C[22])" 
Range("L42").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-31]C[13]:R[-15]C[13],Dados!R[-37]C[13])" 
Range("K42").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-32]C[14],Dados!R[-37]C[14])" 
Range("L43").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-32]C[14]:R[-16]C[14],Dados!R[-38]C[14])" 
Range("K43").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-33]C[15],Dados!R[-38]C[15])" 
Range("L46").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-35]C[17]:R[-19]C[17],Dados!R[-41]C[17])" 
Range("K46").Select 
Application.CutCopyMode = False 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-35]C[17]:R[-19]C[17],Dados!R[-41]C[17])" 
Range("K46").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-36]C[18],Dados!R[-41]C[18])" 
Range("L47").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-36]C[18]:R[-20]C[18],Dados!R[-42]C[18])" 
Range("K47").Select 
ActiveSheet.Paste 
ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-37]C[19],Dados!R[-42]C[19])" 
Range("L47").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-37]C[18]:R[-20]C[18],Dados!R[-42]C[18])" 
Range("L46").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-36]C[17]:R[-19]C[17],Dados!R[-41]C[17])" 
Range("L43").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-33]C[14]:R[-16]C[14],Dados!R[-38]C[14])" 
Range("L42").Select 
ActiveCell.FormulaR1C1 = _ 
    "=SUM(Dados!R[-32]C[13]:R[-15]C[13],Dados!R[-37]C[13])" 
Range("P48").Select 
ActiveWindow.SmallScroll Down:=-9 
End Sub 
+7

您還沒有任何複製粘貼。 – user2140261 2013-04-10 12:36:15

+1

如果您想提高性能,請避免選擇單元格並使用ActiveCell;請參閱以下[Q + A](http://stackoverflow.com/q/10714251/1490783)。 – 2013-04-10 13:46:49

回答

0

可能我建議下面改進你的代碼(記錄):

Sub Terca() 
' 
' Terca Macro 
' 
' Atalho do teclado: Ctrl+q 
' 
Range("E17:E18,E21:E22,E25:E26,E46:E47,E42:E43").ClearContents 
Range("F17").FormulaR1C1 = "=SUM(Dados!R[-6]C[-2]:R[10]C[-2],Dados!R[-12]C[-2])" 
Range("E17").FormulaR1C1 = "=SUM(Dados!R[-7]C[-1],Dados!R[-12]C[-1])" 
Range("F18").FormulaR1C1 = "=SUM(Dados!R[-7]C[-1]:R[9]C[-1],Dados!R[-13]C[-1])" 
Range("E18").FormulaR1C1 = "=SUM(Dados!R[-8]C,Dados!R[-13]C)" 
Range("F17").FormulaR1C1 = "=SUM(Dados!R[-7]C[-2]:R[10]C[-2],Dados!R[-12]C[-2])" 
Range("F18").FormulaR1C1 = "=SUM(Dados!R[-8]C[-1]:R[9]C[-1],Dados!R[-13]C[-1])" 
Range("E21").FormulaR1C1 = "=SUM(Dados!R[-10]C[4]:R[6]C[4],Dados!R[-16]C[4])" 
Range("E21").FormulaR1C1 = "=SUM(Dados!R[-11]C[5],Dados!R[-16]C[5])" 
Range("F22").FormulaR1C1 = "=SUM(Dados!R[-11]C[1]:R[5]C[1],Dados!R[-17]C[1])" 
Range("E22").FormulaR1C1 = "=SUM(Dados!R[-12]C[2],Dados!R[-17]C[2])" 
Range("F21").FormulaR1C1 = "=SUM(Dados!R[-11]C[4]:R[6]C[4],Dados!R[-16]C[4])" 
Range("F22").FormulaR1C1 = "=SUM(Dados!R[-12]C[1]:R[5]C[1],Dados!R[-17]C[1])" 
Range("F25").FormulaR1C1 = "=AVERAGE(Dados!R[-14]C[7]:R[2]C[7],Dados!R[-20]C[7])" 
Range("E25").FormulaR1C1 = "=AVERAGE(Dados!R[-15]C[8],Dados!R[-20]C[8])" 
Range("F26").FormulaR1C1 = "=AVERAGE(Dados!R[-15]C[8]:R[1]C[8],Dados!R[-21]C[8])" 
Range("E26").FormulaR1C1 = "=AVERAGE(Dados!R[-16]C[9],Dados!R[-21]C[9])" 
Range("F25").FormulaR1C1 = "=AVERAGE(Dados!R[-15]C[7]:R[2]C[7],Dados!R[-20]C[7])" 
Range("F26").FormulaR1C1 = "=AVERAGE(Dados!R[-16]C[8]:R[1]C[8],Dados!R[-21]C[8])" 
Range("F31").FormulaR1C1 = "=SUM(Dados!R[-20]C[11]:R[-4]C[11],Dados!R[-26]C[11])" 
Range("E31").FormulaR1C1 = "=SUM(Dados!R[-21]C[12],Dados!R[-26]C[12])" 
Range("F32").FormulaR1C1 = "=SUM(Dados!R[-21]C[12]:R[-5]C[12],Dados!R[-27]C[12])" 
Range("E32").FormulaR1C1 = "=SUM(Dados!R[-22]C[13],Dados!R[-27]C[13])" 
Range("F32").FormulaR1C1 = "=SUM(Dados!R[-22]C[12]:R[-5]C[12],Dados!R[-27]C[12])" 
Range("F31").FormulaR1C1 = "=SUM(Dados!R[-21]C[11]:R[-4]C[11],Dados!R[-26]C[11])" 
Range("F35").FormulaR1C1 = "=SUM(Dados!R[-24]C[13]:R[-8]C[13],Dados!R[-30]C[13])" 
Range("E35").FormulaR1C1 = "=SUM(Dados!R[-25]C[14],Dados!R[-30]C[14])" 
Range("F36").FormulaR1C1 = "=SUM(Dados!R[-25]C[14]:R[-9]C[14],Dados!R[-31]C[14])" 
Range("E36").FormulaR1C1 = "=SUM(Dados!R[-26]C[15],Dados!R[-31]C[15])" 
Range("F35").FormulaR1C1 = "=SUM(Dados!R[-25]C[13]:R[-8]C[13],Dados!R[-30]C[13])" 
Range("F36").FormulaR1C1 = "=SUM(Dados!R[-26]C[14]:R[-9]C[14],Dados!R[-31]C[14])" 
Range("F42").FormulaR1C1 = "=SUM(Dados!R[-31]C[17]:R[-15]C[17],Dados!R[-37]C[17])" 
Range("E42").FormulaR1C1 = "=SUM(Dados!R[-32]C[18],Dados!R[-37]C[18])" 
Range("F43").FormulaR1C1 = "=SUM(Dados!R[-32]C[18]:R[-16]C[18],Dados!R[-38]C[18])" 
Range("E43").FormulaR1C1 = "=SUM(Dados!R[-33]C[19],Dados!R[-38]C[19])" 
Range("F43").FormulaR1C1 = "=SUM(Dados!R[-33]C[18]:R[-16]C[18],Dados!R[-38]C[18])" 
Range("F42").FormulaR1C1 = "=SUM(Dados!R[-32]C[17]:R[-15]C[17],Dados!R[-37]C[17])" 
Range("F46").FormulaR1C1 = "=SUM(Dados!R[-35]C[21]:R[-19]C[21],Dados!R[-41]C[21])" 
Range("E46").FormulaR1C1 = "=SUM(Dados!R[-36]C[22],Dados!R[-41]C[22])" 
Range("F47").FormulaR1C1 = "=SUM(Dados!R[-36]C[22]:R[-20]C[22],Dados!R[-42]C[22])" 
Range("E47").FormulaR1C1 = "=SUM(Dados!R[-37]C[23],Dados!R[-42]C[23])" 
Range("F46").FormulaR1C1 = "=SUM(Dados!R[-36]C[21]:R[-19]C[21],Dados!R[-41]C[21])" 
Range("F47").FormulaR1C1 = "=SUM(Dados!R[-37]C[22]:R[-20]C[22],Dados!R[-42]C[22])" 
Range("L42").FormulaR1C1 = "=SUM(Dados!R[-31]C[13]:R[-15]C[13],Dados!R[-37]C[13])" 
Range("K42").FormulaR1C1 = "=SUM(Dados!R[-32]C[14],Dados!R[-37]C[14])" 
Range("L43").FormulaR1C1 = "=SUM(Dados!R[-32]C[14]:R[-16]C[14],Dados!R[-38]C[14])" 
Range("K43").FormulaR1C1 = "=SUM(Dados!R[-33]C[15],Dados!R[-38]C[15])" 
Range("L46").FormulaR1C1 = "=SUM(Dados!R[-35]C[17]:R[-19]C[17],Dados!R[-41]C[17])" 
Range("K46").FormulaR1C1 = "=SUM(Dados!R[-35]C[17]:R[-19]C[17],Dados!R[-41]C[17])" 
Range("K46").FormulaR1C1 = "=SUM(Dados!R[-36]C[18],Dados!R[-41]C[18])" 
Range("L47").FormulaR1C1 = "=SUM(Dados!R[-36]C[18]:R[-20]C[18],Dados!R[-42]C[18])" 
Range("K47").FormulaR1C1 = "=SUM(Dados!R[-37]C[19],Dados!R[-42]C[19])" 
Range("L47").FormulaR1C1 = "=SUM(Dados!R[-37]C[18]:R[-20]C[18],Dados!R[-42]C[18])" 
Range("L46").FormulaR1C1 = "=SUM(Dados!R[-36]C[17]:R[-19]C[17],Dados!R[-41]C[17])" 
Range("L43").FormulaR1C1 = "=SUM(Dados!R[-33]C[14]:R[-16]C[14],Dados!R[-38]C[14])" 
Range("L42").FormulaR1C1 = "=SUM(Dados!R[-32]C[13]:R[-15]C[13],Dados!R[-37]C[13])" 

End Sub 

不需要分配一個值之前選擇細胞。 不要嘗試粘貼,如果沒有什麼剪貼板適合粘貼

HTH

菲利普

+0

thx,沒錯! 我使用宏記錄器,手動編輯:P – 2013-04-10 14:21:18

+0

在添加所有這些公式之前,可能需要在過程開始時設置Application.Calculation = xlCalculationManual,然後在末尾調用Application.Calculate,將其重置爲Automatioc – 2013-04-10 14:25:02

相關問題