none
Dúvidas Excel RRS feed

  • Pergunta

  • Estou enfrentando o seguinte problema:

                    Montei uma planilha (Mov-s) onde são feitos cálculos simples, e que são modificados diariamente.                 Montei outra planilha (Base) onde serão armazenados esses resultados, através de busca na planilha Mov-s, e feitos novos cálculos e execução automática através de macros.

    Macro DiaÚtil:

    Na planilha Base, as colunas B, F, J, N, R, V copiam os valores respectivos nas células C3, C4, C5, C6, C7, C8 da planilha Mov-s e em seguida deveriam ser feitos os cálculos respectivos da seguinte forma:

                    Baseado na coluna B, executar os cálculos nas colunas C, D, E.                 Baseado na coluna F, executar os cálculos nas colunas G, H, I.                 Baseado na coluna J, executar os cálculos nas colunas K, L, M.                 Baseado na coluna N, executar os cálculos nas colunas O, P, Q.                 Baseado na coluna R, executar os cálculos nas colunas S, T, U.                 Baseado na coluna V, executar os cálculos nas colunas W, X, Y.

                    Após isso, também executar os cálculos nas colunas Z, AA, AB, AC.

    Está acontecendo que na planilha Base os valores nas colunas B, F, J, N, R, V, são copiados corretamente da planilha Mov-s, porém os cálculos são efetuados somente até a coluna I, depois são “pulados” os cálculos nas colunas K, L, M, O, P, Q, S, T, U, W, X, Y, e nas colunas Z e AA os cálculos são feitos corretamente, e nas colunas AB e AC são feitos de forma errada.

    Com a macro MovZero, onde apenas são colocados valores “0”, ocorre o mesmo problema.

    Será que o problema ocorre devido à primeira linha da macro;

    Selection.AutoFill Destination:=ActiveCell.Range("A1:A2"), Type:=x1FillDefault  ???, pois na depuração o erro ocorre logo após esse comando.

    Se possível, estarei anexando o arquivo Excel correspondente.

    Grato.

    Caso não consiga, seguem as macros:

    Macro DiaÚtil:

    Sub MacroMovDiaUtil()
        Selection.AutoFill Destination:=ActiveCell.Range("A1:A2"), Type:=xlFillDefault
        ActiveCell.Range("A1:A2").Select
        ActiveCell.Offset(1, 1).Range("A1").Select
        Sheets("Mov-s").Select
        Range("C3").Select
        Selection.Copy
        Sheets("BASE").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        ActiveCell.Offset(0, 4).Range("A1").Select
        Sheets("Mov-s").Select
        Range("C4").Select
        Selection.Copy
        Sheets("BASE").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
       
        ActiveCell.Offset(0, 4).Range("A1").Select
        Sheets("Mov-s").Select
        Range("C5").Select
        Selection.Copy
        Sheets("BASE").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
       
        ActiveCell.Offset(0, 4).Range("A1").Select
        Sheets("Mov-s").Select
        Range("C6").Select
        Selection.Copy
        Sheets("BASE").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
       
        ActiveCell.Offset(0, 4).Range("A1").Select
        Sheets("Mov-s").Select
        Range("C7").Select
        Selection.Copy
        Sheets("BASE").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
       
        ActiveCell.Offset(0, 4).Range("A1").Select
        Sheets("Mov-s").Select
        Range("C8").Select
        Selection.Copy
        Sheets("BASE").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
       
        ActiveCell.Offset(0, -21).Range("A1").Select

    End Sub

    Macro MovZero:

    Sub MacroMovDomingoFeriado()
       
        Selection.AutoFill Destination:=ActiveCell.Range("A1:A2"), Type:=xlFillDefault
        ActiveCell.Range("A1:A2").Select
        ActiveCell.Offset(1, 1).Range("A1").Select
        ActiveCell.FormulaR1C1 = "0"
        ActiveCell.Offset(0, 4).Range("A1").Select
        ActiveCell.FormulaR1C1 = "0"
        ActiveCell.Offset(0, 4).Range("A1").Select
        ActiveCell.FormulaR1C1 = "0"
        ActiveCell.Offset(0, 4).Range("A1").Select
        ActiveCell.FormulaR1C1 = "0"
        ActiveCell.Offset(0, 4).Range("A1").Select
        ActiveCell.FormulaR1C1 = "0"
        ActiveCell.Offset(0, 4).Range("A1").Select
        ActiveCell.FormulaR1C1 = "0"
        ActiveCell.Offset(0, -21).Range("A1").Select
    End Sub

    quarta-feira, 9 de março de 2016 18:59