none
Erro macro excel 1004 RRS feed

  • Pergunta

  • Tenho um Planilha que as vezes o macro funciona e outras, não. ele da erro no seguinte código.
    alguém poderia me ajudar, ou me fornecer outros meio. eu fiz utilizando gravação do macro e meio manuais. não entendo muito de VB.

    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 <!!!--- erroo aqui ---!!>
        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
    
    

    quarta-feira, 10 de abril de 2013 13:41

Respostas

  • A macro está dando erro porque você está tentando colar algo da área de transferência na planilha. Se a área de transferência estiver vazia, você obtém um erro.

    ---

    Você criou o código utilizando o gravador de macros. Você pode simplificá-lo bastante. No VBA, você não precisa selecionar células para alterar os valores. Por exemplo, simplifique o bloco:

    Range("F18").Select
    ActiveCell.FormulaR1C1 = "=SUM(Dados!R[-7]C[-1]:R[9]C[-1],Dados!R[-13]C[-1])"

    por:

    Range("F18").FormulaR1C1 = "=SUM(Dados!R[-7]C[-1]:R[9]C[-1],Dados!R[-13]C[-1])"

    Além disso, remova linhas insignificantes como:

    ActiveWindow.SmallScroll Down:=-33


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 10 de abril de 2013 20:53
    Moderador