Macro para alteraçõ...
 
Notifications
Clear all

Macro para alterações muito grandes

18 Posts
2 Usuários
0 Reactions
1,682 Visualizações
(@caeh-a)
Posts: 11
Active Member
Topic starter
 

Bom dia gente!
Primeiramente, me considero um completo leigo no assunto e ainda estou com um probleminha aqui em uma planilha da empresa! Vou tentar explicar da melhor forma possível!

Eu preciso controlar a produção aqui da empresa, tanto individual como geral, assim como a produção das máquinas e a entrada e saída de material do estoque de produto acabado. Para tanto, eu me utilizo de 2 arquivos (planilhas):

- Produção Individual: Onde eu tenho 15 abas, representando cada colaborador mais algum que possa entrar. Nessa planilha eu tenho para cada dia do mês 5 setores (costura, vira, forma, estamparia e embalagem) ou seja, 5 "linhas" desde o dia 1 até o 31, como ilustrado na figura abaixo

figura 01: cada cor, um setor


figura 02: legenda

Isso é assim porque nenhum colaborador faz sempre a mesma coisa, então todas as abas são assim, para que eu possa controlar toda a produção individualmente. Na produção individual eu não tenho nenhuma fórmula, lá eu coloco apenas os dados.

- Produção Diária: Na produção diária é onde rola meu principal problema. É nessa aba onde eu puxo todos os dados do arquivo de produção individual e os somo, para criar um valor total atualizado. Ou seja, aqui eu tenho 5 abas representando cada um dos setores da empresa: Malharia, Costura, Vira, Forma, Estamparia e Embalagem. Em cada uma das abas eu fiz uma fórmula simples de soma: na aba da costura, por exemplo, ele puxa todos os valores referente ao dia em questão de todas as 15 abas dos colaboradores!! Por exemplo:

Para a produção diária do setor de embalagem, no dia 01 do mês fica assim a fórmula:

='[Malharia - PI.xlsx]01'!$B$10+'[Malharia - PI.xlsx]02'!$B$10+'[Malharia - PI.xlsx]03'!$B$10+'[Malharia - PI.xlsx]04'!$B$10+'[Malharia - PI.xlsx]05'!$B$10+'[Malharia - PI.xlsx]06'!$B$10+'[Malharia - PI.xlsx]07'!$B$10+'[Malharia - PI.xlsx]08'!$B$10+'[Malharia - PI.xlsx]09'!$B$10+'[Malharia - PI.xlsx]10'!$B$10+'[Malharia - PI.xlsx]11'!$B$10+'[Malharia - PI.xlsx]12'!$B$10+'[Malharia - PI.xlsx]13'!$B$10+'[Malharia - PI.xlsx]14'!$B$10+'[Malharia - PI.xlsx]15'!$B$10

- é muita coisa...

Agora imagina fazer tudo isso manualmente... do dia 01 ao dia 31, 5 linhas para cada dia...Coluna por coluna! Loucura! Ainda, eu percebi que quando eu uso um outro arquivo do Excel ele não "atualiza" as abas no CTRL+C e V, sabe? Eu tive um problemão para "dar um jeito" de não ficar meses fazendo isso manualmente, foi quando pesquisei e descobri sobre os macros. Eu me utilizei dos macros para atualizar os valores de cada coluna, mas para a próxima coluna eu também atualizava manualmente (não sei como posso explicar isso)

Portanto, meu macro é assim:

Sub Embalagem_b()
'
' Embalagem_b Macro
'

'
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R10C2+'[Malharia - PI.xlsx]02'!R10C2+'[Malharia - PI.xlsx]03'!R10C2+'[Malharia - PI.xlsx]04'!R10C2+'[Malharia - PI.xlsx]05'!R10C2+'[Malharia - PI.xlsx]06'!R10C2+'[Malharia - PI.xlsx]07'!R10C2+'[Malharia - PI.xlsx]08'!R10C2+'[Malharia - PI.xlsx]09'!R10C2+'[Malharia - PI.xlsx]10'!R10C2+'[Malharia - PI.xlsx]11'!R10C2+'[Malharia - PI.xlsx]12'!R10C2+'[Malharia - PI.xlsx]13'!R10C2+'[Malharia - PI.xlsx]14'!R10C2+'[Malharia - PI.xlsx]15'!R10C2"
    Range("B9").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R15C2+'[Malharia - PI.xlsx]02'!R15C2+'[Malharia - PI.xlsx]03'!R15C2+'[Malharia - PI.xlsx]04'!R15C2+'[Malharia - PI.xlsx]05'!R15C2+'[Malharia - PI.xlsx]06'!R15C2+'[Malharia - PI.xlsx]07'!R15C2+'[Malharia - PI.xlsx]08'!R15C2+'[Malharia - PI.xlsx]09'!R15C2+'[Malharia - PI.xlsx]10'!R15C2+'[Malharia - PI.xlsx]11'!R15C2+'[Malharia - PI.xlsx]12'!R15C2+'[Malharia - PI.xlsx]13'!R15C2+'[Malharia - PI.xlsx]14'!R15C2+'[Malharia - PI.xlsx]15'!R15C2"
    Range("B11").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R20C2+'[Malharia - PI.xlsx]02'!R20C2+'[Malharia - PI.xlsx]03'!R20C2+'[Malharia - PI.xlsx]04'!R20C2+'[Malharia - PI.xlsx]05'!R20C2+'[Malharia - PI.xlsx]06'!R20C2+'[Malharia - PI.xlsx]07'!R20C2+'[Malharia - PI.xlsx]08'!R20C2+'[Malharia - PI.xlsx]09'!R20C2+'[Malharia - PI.xlsx]10'!R20C2+'[Malharia - PI.xlsx]11'!R20C2+'[Malharia - PI.xlsx]12'!R20C2+'[Malharia - PI.xlsx]13'!R20C2+'[Malharia - PI.xlsx]14'!R20C2+'[Malharia - PI.xlsx]15'!R20C2"
    Range("B13").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R25C2+'[Malharia - PI.xlsx]02'!R25C2+'[Malharia - PI.xlsx]03'!R25C2+'[Malharia - PI.xlsx]04'!R25C2+'[Malharia - PI.xlsx]05'!R25C2+'[Malharia - PI.xlsx]06'!R25C2+'[Malharia - PI.xlsx]07'!R25C2+'[Malharia - PI.xlsx]08'!R25C2+'[Malharia - PI.xlsx]09'!R25C2+'[Malharia - PI.xlsx]10'!R25C2+'[Malharia - PI.xlsx]11'!R25C2+'[Malharia - PI.xlsx]12'!R25C2+'[Malharia - PI.xlsx]13'!R25C2+'[Malharia - PI.xlsx]14'!R25C2+'[Malharia - PI.xlsx]15'!R25C2"
    Range("B15").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R30C2+'[Malharia - PI.xlsx]02'!R30C2+'[Malharia - PI.xlsx]03'!R30C2+'[Malharia - PI.xlsx]04'!R30C2+'[Malharia - PI.xlsx]05'!R30C2+'[Malharia - PI.xlsx]06'!R30C2+'[Malharia - PI.xlsx]07'!R30C2+'[Malharia - PI.xlsx]08'!R30C2+'[Malharia - PI.xlsx]09'!R30C2+'[Malharia - PI.xlsx]10'!R30C2+'[Malharia - PI.xlsx]11'!R30C2+'[Malharia - PI.xlsx]12'!R30C2+'[Malharia - PI.xlsx]13'!R30C2+'[Malharia - PI.xlsx]14'!R30C2+'[Malharia - PI.xlsx]15'!R30C2"
    Range("B17").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R35C2+'[Malharia - PI.xlsx]02'!R35C2+'[Malharia - PI.xlsx]03'!R35C2+'[Malharia - PI.xlsx]04'!R35C2+'[Malharia - PI.xlsx]05'!R35C2+'[Malharia - PI.xlsx]06'!R35C2+'[Malharia - PI.xlsx]07'!R35C2+'[Malharia - PI.xlsx]08'!R35C2+'[Malharia - PI.xlsx]09'!R35C2+'[Malharia - PI.xlsx]10'!R35C2+'[Malharia - PI.xlsx]11'!R35C2+'[Malharia - PI.xlsx]12'!R35C2+'[Malharia - PI.xlsx]13'!R35C2+'[Malharia - PI.xlsx]14'!R35C2+'[Malharia - PI.xlsx]15'!R35C2"
    Range("B19").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R40C2+'[Malharia - PI.xlsx]02'!R40C2+'[Malharia - PI.xlsx]03'!R40C2+'[Malharia - PI.xlsx]04'!R40C2+'[Malharia - PI.xlsx]05'!R40C2+'[Malharia - PI.xlsx]06'!R40C2+'[Malharia - PI.xlsx]07'!R40C2+'[Malharia - PI.xlsx]08'!R40C2+'[Malharia - PI.xlsx]09'!R40C2+'[Malharia - PI.xlsx]10'!R40C2+'[Malharia - PI.xlsx]11'!R40C2+'[Malharia - PI.xlsx]12'!R40C2+'[Malharia - PI.xlsx]13'!R40C2+'[Malharia - PI.xlsx]14'!R40C2+'[Malharia - PI.xlsx]15'!R40C2"
    Range("B21").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R45C2+'[Malharia - PI.xlsx]02'!R45C2+'[Malharia - PI.xlsx]03'!R45C2+'[Malharia - PI.xlsx]04'!R45C2+'[Malharia - PI.xlsx]05'!R45C2+'[Malharia - PI.xlsx]06'!R45C2+'[Malharia - PI.xlsx]07'!R45C2+'[Malharia - PI.xlsx]08'!R45C2+'[Malharia - PI.xlsx]09'!R45C2+'[Malharia - PI.xlsx]10'!R45C2+'[Malharia - PI.xlsx]11'!R45C2+'[Malharia - PI.xlsx]12'!R45C2+'[Malharia - PI.xlsx]13'!R45C2+'[Malharia - PI.xlsx]14'!R45C2+'[Malharia - PI.xlsx]15'!R45C2"
    Range("B23").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R50C2+'[Malharia - PI.xlsx]02'!R50C2+'[Malharia - PI.xlsx]03'!R50C2+'[Malharia - PI.xlsx]04'!R50C2+'[Malharia - PI.xlsx]05'!R50C2+'[Malharia - PI.xlsx]06'!R50C2+'[Malharia - PI.xlsx]07'!R50C2+'[Malharia - PI.xlsx]08'!R50C2+'[Malharia - PI.xlsx]09'!R50C2+'[Malharia - PI.xlsx]10'!R50C2+'[Malharia - PI.xlsx]11'!R50C2+'[Malharia - PI.xlsx]12'!R50C2+'[Malharia - PI.xlsx]13'!R50C2+'[Malharia - PI.xlsx]14'!R50C2+'[Malharia - PI.xlsx]15'!R50C2"
    Range("B25").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R55C2+'[Malharia - PI.xlsx]02'!R55C2+'[Malharia - PI.xlsx]03'!R55C2+'[Malharia - PI.xlsx]04'!R55C2+'[Malharia - PI.xlsx]05'!R55C2+'[Malharia - PI.xlsx]06'!R55C2+'[Malharia - PI.xlsx]07'!R55C2+'[Malharia - PI.xlsx]08'!R55C2+'[Malharia - PI.xlsx]09'!R55C2+'[Malharia - PI.xlsx]10'!R55C2+'[Malharia - PI.xlsx]11'!R55C2+'[Malharia - PI.xlsx]12'!R55C2+'[Malharia - PI.xlsx]13'!R55C2+'[Malharia - PI.xlsx]14'!R55C2+'[Malharia - PI.xlsx]14'!R55C2"
    Range("B27").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R60C2+'[Malharia - PI.xlsx]02'!R60C2+'[Malharia - PI.xlsx]03'!R60C2+'[Malharia - PI.xlsx]04'!R60C2+'[Malharia - PI.xlsx]05'!R60C2+'[Malharia - PI.xlsx]06'!R60C2+'[Malharia - PI.xlsx]07'!R60C2+'[Malharia - PI.xlsx]08'!R60C2+'[Malharia - PI.xlsx]09'!R60C2+'[Malharia - PI.xlsx]10'!R60C2+'[Malharia - PI.xlsx]11'!R60C2+'[Malharia - PI.xlsx]12'!R60C2+'[Malharia - PI.xlsx]13'!R60C2+'[Malharia - PI.xlsx]14'!R60C2+'[Malharia - PI.xlsx]15'!R60C2"
    Range("B29").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R65C2+'[Malharia - PI.xlsx]02'!R65C2+'[Malharia - PI.xlsx]03'!R65C2+'[Malharia - PI.xlsx]04'!R65C2+'[Malharia - PI.xlsx]05'!R65C2+'[Malharia - PI.xlsx]06'!R65C2+'[Malharia - PI.xlsx]07'!R65C2+'[Malharia - PI.xlsx]08'!R65C2+'[Malharia - PI.xlsx]09'!R65C2+'[Malharia - PI.xlsx]10'!R65C2+'[Malharia - PI.xlsx]11'!R65C2+'[Malharia - PI.xlsx]12'!R65C2+'[Malharia - PI.xlsx]13'!R65C2+'[Malharia - PI.xlsx]14'!R65C2+'[Malharia - PI.xlsx]15'!R65C2"
    Range("B31").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R70C2+'[Malharia - PI.xlsx]02'!R70C2+'[Malharia - PI.xlsx]03'!R70C2+'[Malharia - PI.xlsx]04'!R70C2+'[Malharia - PI.xlsx]05'!R70C2+'[Malharia - PI.xlsx]06'!R70C2+'[Malharia - PI.xlsx]07'!R70C2+'[Malharia - PI.xlsx]08'!R70C2+'[Malharia - PI.xlsx]09'!R70C2+'[Malharia - PI.xlsx]10'!R70C2+'[Malharia - PI.xlsx]11'!R70C2+'[Malharia - PI.xlsx]12'!R70C2+'[Malharia - PI.xlsx]13'!R70C2+'[Malharia - PI.xlsx]14'!R70C2+'[Malharia - PI.xlsx]15'!R70C2"
    Range("B33").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R75C2+'[Malharia - PI.xlsx]02'!R75C2+'[Malharia - PI.xlsx]03'!R75C2+'[Malharia - PI.xlsx]04'!R75C2+'[Malharia - PI.xlsx]05'!R75C2+'[Malharia - PI.xlsx]06'!R75C2+'[Malharia - PI.xlsx]07'!R75C2+'[Malharia - PI.xlsx]08'!R75C2+'[Malharia - PI.xlsx]09'!R75C2+'[Malharia - PI.xlsx]10'!R75C2+'[Malharia - PI.xlsx]11'!R75C2+'[Malharia - PI.xlsx]12'!R75C2+'[Malharia - PI.xlsx]13'!R75C2+'[Malharia - PI.xlsx]14'!R75C2+'[Malharia - PI.xlsx]15'!R75C2"
    Range("B35").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R80C2+'[Malharia - PI.xlsx]02'!R80C2+'[Malharia - PI.xlsx]03'!R80C2+'[Malharia - PI.xlsx]04'!R80C2+'[Malharia - PI.xlsx]05'!R80C2+'[Malharia - PI.xlsx]06'!R80C2+'[Malharia - PI.xlsx]07'!R80C2+'[Malharia - PI.xlsx]08'!R80C2+'[Malharia - PI.xlsx]09'!R80C2+'[Malharia - PI.xlsx]10'!R80C2+'[Malharia - PI.xlsx]11'!R80C2+'[Malharia - PI.xlsx]12'!R80C2+'[Malharia - PI.xlsx]13'!R80C2+'[Malharia - PI.xlsx]14'!R80C2+'[Malharia - PI.xlsx]15'!R80C2"
    Range("B37").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R85C2+'[Malharia - PI.xlsx]02'!R85C2+'[Malharia - PI.xlsx]03'!R85C2+'[Malharia - PI.xlsx]04'!R85C2+'[Malharia - PI.xlsx]05'!R85C2+'[Malharia - PI.xlsx]06'!R85C2+'[Malharia - PI.xlsx]07'!R85C2+'[Malharia - PI.xlsx]08'!R85C2+'[Malharia - PI.xlsx]09'!R85C2+'[Malharia - PI.xlsx]10'!R85C2+'[Malharia - PI.xlsx]11'!R85C2+'[Malharia - PI.xlsx]12'!R85C2+'[Malharia - PI.xlsx]13'!R85C2+'[Malharia - PI.xlsx]14'!R85C2+'[Malharia - PI.xlsx]15'!R85C2"
    Range("B39").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R90C2+'[Malharia - PI.xlsx]02'!R90C2+'[Malharia - PI.xlsx]03'!R90C2+'[Malharia - PI.xlsx]04'!R90C2+'[Malharia - PI.xlsx]05'!R90C2+'[Malharia - PI.xlsx]06'!R90C2+'[Malharia - PI.xlsx]07'!R90C2+'[Malharia - PI.xlsx]08'!R90C2+'[Malharia - PI.xlsx]09'!R90C2+'[Malharia - PI.xlsx]10'!R90C2+'[Malharia - PI.xlsx]11'!R90C2+'[Malharia - PI.xlsx]12'!R90C2+'[Malharia - PI.xlsx]13'!R90C2+'[Malharia - PI.xlsx]14'!R90C2+'[Malharia - PI.xlsx]15'!R90C2"
    Range("B41").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R95C2+'[Malharia - PI.xlsx]02'!R95C2+'[Malharia - PI.xlsx]03'!R95C2+'[Malharia - PI.xlsx]04'!R95C2+'[Malharia - PI.xlsx]05'!R95C2+'[Malharia - PI.xlsx]06'!R95C2+'[Malharia - PI.xlsx]07'!R95C2+'[Malharia - PI.xlsx]08'!R95C2+'[Malharia - PI.xlsx]09'!R95C2+'[Malharia - PI.xlsx]10'!R95C2+'[Malharia - PI.xlsx]11'!R95C2+'[Malharia - PI.xlsx]12'!R95C2+'[Malharia - PI.xlsx]13'!R95C2+'[Malharia - PI.xlsx]14'!R95C2+'[Malharia - PI.xlsx]15'!R95C2"
    Range("B43").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R100C2+'[Malharia - PI.xlsx]02'!R100C2+'[Malharia - PI.xlsx]03'!R100C2+'[Malharia - PI.xlsx]04'!R100C2+'[Malharia - PI.xlsx]05'!R100C2+'[Malharia - PI.xlsx]06'!R100C2+'[Malharia - PI.xlsx]07'!R100C2+'[Malharia - PI.xlsx]08'!R100C2+'[Malharia - PI.xlsx]09'!R100C2+'[Malharia - PI.xlsx]10'!R100C2+'[Malharia - PI.xlsx]11'!R100C2+'[Malharia - PI.xlsx]12'!R100C2+'[Malharia - PI.xlsx]13'!R100C2+'[Malharia - PI.xlsx]14'!R100C2+'[Malharia - PI.xlsx]15'!R100C2"
    Range("B45").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R105C2+'[Malharia - PI.xlsx]02'!R105C2+'[Malharia - PI.xlsx]03'!R105C2+'[Malharia - PI.xlsx]04'!R105C2+'[Malharia - PI.xlsx]05'!R105C2+'[Malharia - PI.xlsx]06'!R105C2+'[Malharia - PI.xlsx]07'!R105C2+'[Malharia - PI.xlsx]08'!R105C2+'[Malharia - PI.xlsx]09'!R105C2+'[Malharia - PI.xlsx]10'!R105C2+'[Malharia - PI.xlsx]11'!R105C2+'[Malharia - PI.xlsx]12'!R105C2+'[Malharia - PI.xlsx]13'!R105C2+'[Malharia - PI.xlsx]14'!R105C2+'[Malharia - PI.xlsx]15'!R105C2"
    Range("B47").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R110C2+'[Malharia - PI.xlsx]02'!R110C2+'[Malharia - PI.xlsx]03'!R110C2+'[Malharia - PI.xlsx]04'!R110C2+'[Malharia - PI.xlsx]05'!R110C2+'[Malharia - PI.xlsx]06'!R110C2+'[Malharia - PI.xlsx]07'!R110C2+'[Malharia - PI.xlsx]08'!R110C2+'[Malharia - PI.xlsx]09'!R110C2+'[Malharia - PI.xlsx]10'!R110C2+'[Malharia - PI.xlsx]11'!R110C2+'[Malharia - PI.xlsx]12'!R110C2+'[Malharia - PI.xlsx]13'!R110C2+'[Malharia - PI.xlsx]14'!R110C2+'[Malharia - PI.xlsx]15'!R110C2"
    Range("B49").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R115C2+'[Malharia - PI.xlsx]02'!R115C2+'[Malharia - PI.xlsx]03'!R115C2+'[Malharia - PI.xlsx]04'!R115C2+'[Malharia - PI.xlsx]05'!R115C2+'[Malharia - PI.xlsx]06'!R115C2+'[Malharia - PI.xlsx]07'!R115C2+'[Malharia - PI.xlsx]08'!R115C2+'[Malharia - PI.xlsx]09'!R115C2+'[Malharia - PI.xlsx]10'!R115C2+'[Malharia - PI.xlsx]11'!R115C2+'[Malharia - PI.xlsx]12'!R115C2+'[Malharia - PI.xlsx]13'!R115C2+'[Malharia - PI.xlsx]14'!R115C2+'[Malharia - PI.xlsx]15'!R115C2"
    Range("B51").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R120C2+'[Malharia - PI.xlsx]02'!R120C2+'[Malharia - PI.xlsx]03'!R120C2+'[Malharia - PI.xlsx]04'!R120C2+'[Malharia - PI.xlsx]05'!R120C2+'[Malharia - PI.xlsx]06'!R120C2+'[Malharia - PI.xlsx]07'!R120C2+'[Malharia - PI.xlsx]08'!R120C2+'[Malharia - PI.xlsx]09'!R120C2+'[Malharia - PI.xlsx]10'!R120C2+'[Malharia - PI.xlsx]11'!R120C2+'[Malharia - PI.xlsx]12'!R120C2+'[Malharia - PI.xlsx]13'!R120C2+'[Malharia - PI.xlsx]14'!R120C2+'[Malharia - PI.xlsx]15'!R120C2"
    Range("B53").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R125C2+'[Malharia - PI.xlsx]02'!R125C2+'[Malharia - PI.xlsx]03'!R125C2+'[Malharia - PI.xlsx]04'!R125C2+'[Malharia - PI.xlsx]05'!R125C2+'[Malharia - PI.xlsx]06'!R125C2+'[Malharia - PI.xlsx]07'!R125C2+'[Malharia - PI.xlsx]08'!R125C2+'[Malharia - PI.xlsx]09'!R125C2+'[Malharia - PI.xlsx]10'!R125C2+'[Malharia - PI.xlsx]11'!R125C2+'[Malharia - PI.xlsx]12'!R125C2+'[Malharia - PI.xlsx]13'!R125C2+'[Malharia - PI.xlsx]14'!R125C2+'[Malharia - PI.xlsx]15'!R125C2"
    Range("B55").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R130C2+'[Malharia - PI.xlsx]02'!R130C2+'[Malharia - PI.xlsx]03'!R130C2+'[Malharia - PI.xlsx]04'!R130C2+'[Malharia - PI.xlsx]05'!R130C2+'[Malharia - PI.xlsx]06'!R130C2+'[Malharia - PI.xlsx]07'!R130C2+'[Malharia - PI.xlsx]08'!R130C2+'[Malharia - PI.xlsx]09'!R130C2+'[Malharia - PI.xlsx]10'!R130C2+'[Malharia - PI.xlsx]11'!R130C2+'[Malharia - PI.xlsx]12'!R130C2+'[Malharia - PI.xlsx]13'!R130C2+'[Malharia - PI.xlsx]14'!R130C2+'[Malharia - PI.xlsx]15'!R130C2"
    Range("B57").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R135C2+'[Malharia - PI.xlsx]02'!R135C2+'[Malharia - PI.xlsx]03'!R135C2+'[Malharia - PI.xlsx]04'!R135C2+'[Malharia - PI.xlsx]05'!R135C2+'[Malharia - PI.xlsx]06'!R135C2+'[Malharia - PI.xlsx]07'!R135C2+'[Malharia - PI.xlsx]08'!R135C2+'[Malharia - PI.xlsx]09'!R135C2+'[Malharia - PI.xlsx]10'!R135C2+'[Malharia - PI.xlsx]11'!R135C2+'[Malharia - PI.xlsx]12'!R135C2+'[Malharia - PI.xlsx]13'!R135C2+'[Malharia - PI.xlsx]14'!R135C2+'[Malharia - PI.xlsx]15'!R135C2"
    Range("B59").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R140C2+'[Malharia - PI.xlsx]02'!R140C2+'[Malharia - PI.xlsx]03'!R140C2+'[Malharia - PI.xlsx]04'!R140C2+'[Malharia - PI.xlsx]05'!R140C2+'[Malharia - PI.xlsx]06'!R140C2+'[Malharia - PI.xlsx]07'!R140C2+'[Malharia - PI.xlsx]08'!R140C2+'[Malharia - PI.xlsx]09'!R140C2+'[Malharia - PI.xlsx]10'!R140C2+'[Malharia - PI.xlsx]11'!R140C2+'[Malharia - PI.xlsx]12'!R140C2+'[Malharia - PI.xlsx]13'!R140C2+'[Malharia - PI.xlsx]14'!R140C2+'[Malharia - PI.xlsx]15'!R140C2"
    Range("B61").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R145C2+'[Malharia - PI.xlsx]02'!R145C2+'[Malharia - PI.xlsx]03'!R145C2+'[Malharia - PI.xlsx]04'!R145C2+'[Malharia - PI.xlsx]05'!R145C2+'[Malharia - PI.xlsx]06'!R145C2+'[Malharia - PI.xlsx]07'!R145C2+'[Malharia - PI.xlsx]08'!R145C2+'[Malharia - PI.xlsx]09'!R145C2+'[Malharia - PI.xlsx]10'!R145C2+'[Malharia - PI.xlsx]11'!R145C2+'[Malharia - PI.xlsx]12'!R145C2+'[Malharia - PI.xlsx]13'!R145C2+'[Malharia - PI.xlsx]14'!R145C2+'[Malharia - PI.xlsx]15'!R145C2"
    Range("B63").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R150C2+'[Malharia - PI.xlsx]02'!R150C2+'[Malharia - PI.xlsx]03'!R150C2+'[Malharia - PI.xlsx]04'!R150C2+'[Malharia - PI.xlsx]05'!R150C2+'[Malharia - PI.xlsx]06'!R150C2+'[Malharia - PI.xlsx]07'!R150C2+'[Malharia - PI.xlsx]08'!R150C2+'[Malharia - PI.xlsx]09'!R150C2+'[Malharia - PI.xlsx]10'!R150C2+'[Malharia - PI.xlsx]11'!R150C2+'[Malharia - PI.xlsx]12'!R150C2+'[Malharia - PI.xlsx]13'!R150C2+'[Malharia - PI.xlsx]14'!R150C2+'[Malharia - PI.xlsx]15'!R150C2"
    Range("B65").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R155C2+'[Malharia - PI.xlsx]02'!R155C2+'[Malharia - PI.xlsx]03'!R155C2+'[Malharia - PI.xlsx]04'!R155C2+'[Malharia - PI.xlsx]05'!R155C2+'[Malharia - PI.xlsx]06'!R155C2+'[Malharia - PI.xlsx]07'!R155C2+'[Malharia - PI.xlsx]08'!R155C2+'[Malharia - PI.xlsx]09'!R155C2+'[Malharia - PI.xlsx]10'!R155C2+'[Malharia - PI.xlsx]11'!R155C2+'[Malharia - PI.xlsx]12'!R155C2+'[Malharia - PI.xlsx]13'!R155C2+'[Malharia - PI.xlsx]14'!R155C2+'[Malharia - PI.xlsx]15'!R155C2"
    Range("B67").Select
    ActiveCell.FormulaR1C1 = _
        "='[Malharia - PI.xlsx]01'!R160C2+'[Malharia - PI.xlsx]02'!R160C2+'[Malharia - PI.xlsx]03'!R160C2+'[Malharia - PI.xlsx]04'!R160C2+'[Malharia - PI.xlsx]05'!R160C2+'[Malharia - PI.xlsx]06'!R160C2+'[Malharia - PI.xlsx]07'!R160C2+'[Malharia - PI.xlsx]08'!R160C2+'[Malharia - PI.xlsx]09'!R160C2+'[Malharia - PI.xlsx]10'!R160C2+'[Malharia - PI.xlsx]11'!R160C2+'[Malharia - PI.xlsx]12'!R160C2+'[Malharia - PI.xlsx]13'!R160C2+'[Malharia - PI.xlsx]14'!R160C2+'[Malharia - PI.xlsx]15'!R160C2"
    Range("B68").Select
    ActiveWindow.SmallScroll Down:=3
End Sub

Então, se eu quisesse pular para a próxima coluna (o próximo produto) eu copiava o macro acima e só alterava a letra do Range (de B para C, e assim por diante) e o número referente à coluna (de R10C2 para R10C3, e assim por diante). Esse é exatamente onde paira minha dúvida. Mesmo me utilizando dessa alteração no VBA, me consome muito tempo para atualizar a formula dessa tabela, e quando a empresa adiciona um novo produto ao portifólio, eu tenho que adicionar uma nova coluna e fazer tudo isso nela (que é o motivo de eu estar refazendo tudo)

Por fim, o que gostaria de saber é se há uma forma alternativa de preencher esses campos, alguma ferramenta que não pude encontrar ou se meu destino é preencher isso dessa forma, mesmo!
Peço desculpas se este não é o lugar apropriado, ou se não tenho tempo de fórum o suficiente para buscar o auxilio dos senhores!

Obrigado desde já!

Ansiosamente para encontrar uma solução,
Caeh Augusto

 
Postado : 16/05/2014 5:10 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Caso seja possível, tem como postar seu arquivo modelo?

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/05/2014 5:32 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia Caeh Augusto,

Seja bem vindo ao fórum.
Cara, sem a planilha fica difícil um pouco ajudar, mas seria algo parecido com isso:

Option Explicit

Sub embalagem_b2()
Dim i       As Long
Dim j       As Long
Dim Colab   As Long
Dim Setor   As Long
Dim Valor   As Long
Dim wbPI    As Workbook

Colab = 15  'Quantidade de colaboradores
Setor = 5   'Quantidade de setores

Set wbPI = Workbooks("Malharia - PI.xlsx")

Valor = 0
    With ThisWorkbook.ActiveSheet
        For i = 1 To 31
            For j = 1 To Colab
                Valor = Valor + .wbPI.Worksheets(j).Cells(10, 2).Value
            Next j
        Next i
    End With

End Sub

Tem como disponibilizar a planilha para os testes?

Qualquer coisa da o grito.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/05/2014 5:36 am
(@caeh-a)
Posts: 11
Active Member
Topic starter
 

Gente, o arquivo é muito grande para anexar pelo fórum, por isso segue o link para download no 4Shared!

http://www.4shared.com/rar/V7zn-AHNba/Malharia_-_Produo.html

 
Postado : 16/05/2014 5:48 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde Caeh,

Cara, tenta assim:

Option Explicit

Sub embalagem_b2()
Dim i       As Long
Dim Vi      As Integer
Dim i2      As Long
Dim Vi2     As Integer
Dim j       As Long
Dim k       As Long
Dim Colab   As Long
Dim Setor   As Long
Dim Produ   As Long
Dim Valor   As Long
Dim Linha   As Long
Dim wbPI    As Workbook
Dim wbPD    As Workbook

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Colab = 15  'Quantidade de colaboradores
Setor = 5   'Quantidade de setores
Produ = 15  'Quantidade de produtos 42
Linha = 1   'Produto - {1 = Costura; 2 = Vira; 3 = Forma; 4 = Estamparia; 5 = Embalagem}

Set wbPI = Workbooks("Malharia - PI - Copia.xlsx") ' Editar o nome da planilha
Set wbPD = ThisWorkbook

Valor = 0
    For i = 1 To 30
        Vi = 5 + i * 2
        Vi2 = 6 + i * 5 + (Linha - 1)
        For k = 2 To Produ + 1
            For j = 1 To Colab
                Valor = Valor + wbPI.Sheets(j + 1).Cells(Vi2, k).Value
            Next j
            wbPD.ActiveSheet.Cells(Vi, k).Value = Valor
            Valor = 0
        Next k
    Next i
    
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub

Observar os comentários e fazer as modificações.

Segue em anexo também.
Qualquer coisa da o grito.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/05/2014 12:59 pm
(@caeh-a)
Posts: 11
Active Member
Topic starter
 

Oi Bernardo!

Eu tentei fuçar o quanto pude nesse macro que você sugeriu e fiquei com muitas dúvidas! Seria muito problema me explicar um pouco sobre essa sua sugestão?
O que houve com aquelas fórmulas que eu havia deixado em cada linha/coluna?
Em que exatamente essa sugestão que você apresentou faz em minhas planilhas?
Como fica a atualização "automática" que ocorria quando eu abria os dois arquivos de produção?

Grato,
Caeh Augusto

 
Postado : 19/05/2014 7:32 am
(@caeh-a)
Posts: 11
Active Member
Topic starter
 

Estou precisando mesmo de uma luz aqui, gente... caso contrário estou ferrado! :<

 
Postado : 21/05/2014 7:15 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia caeh,

Cara, segue o código mais comentado:

Option Explicit

Sub embalagem_b2()
'Declaração das variáveis
Dim i       As Long
Dim Vi      As Integer
Dim i2      As Long
Dim Vi2     As Integer
Dim j       As Long
Dim k       As Long
Dim Colab   As Long
Dim Setor   As Long
Dim Produ   As Long
Dim Valor   As Long
Dim Linha   As Long
Dim wbPI    As Workbook
Dim wbPD    As Workbook

'Desabilita a atualização da tela
Application.ScreenUpdating = False
'Desabilita o cálculo automático
Application.Calculation = xlCalculationManual

'Determina alguns valores constantes
Colab = 15  'Quantidade de colaboradores
Setor = 5   'Quantidade de setores
Produ = 15  'Quantidade de produtos 42
Linha = 1   'Produto - {1 = Costura; 2 = Vira; 3 = Forma; 4 = Estamparia; 5 = Embalagem}

'Seta a pasta de trabalho a ser carregada as informações
Set wbPI = Workbooks("Malharia - PI - Copia.xlsx") ' Editar o nome da planilha
'Seta a pasta de trabalho atual
Set wbPD = ThisWorkbook

'Zera o valor da variável "Valor"
Valor = 0
    'Faz o loop dos dias do mês
    For i = 1 To 30
        'Faz os cálculos dentre os dias do mês para que sejam puladas as linhas da planilha atual
        Vi = 5 + i * 2
        'Faz os cálculos dentre os dias do mês para que sejam puladas as linhas da planilha de acordo com o tipo de produto
        Vi2 = 6 + i * 5 + (Linha - 1)
        'Faz o loop nas colunas dos produtos da planilha atual
        For k = 2 To Produ + 1
            'Faz o loop nas planilhas individuais dos colaboradores
            For j = 1 To Colab
                'Soma o valor correspondente das planilhas individuais dos colaboradores
                Valor = Valor + wbPI.Sheets(j + 1).Cells(Vi2, k).Value
            'Passa para o próximo valor do loop
            Next j
            'Atribui o valor somado à sua devida célula de origem
            wbPD.ActiveSheet.Cells(Vi, k).Value = Valor
            'Zera o valor da variável "Valor"
            Valor = 0
        'Passa para o próximo valor do loop
        Next k
    'Passa para o próximo valor do loop
    Next i

'Habilita a atualização da tela
Application.ScreenUpdating = True
'Habilita o cálculo automático
Application.Calculation = xlCalculationAutomatic

End Sub

Cara, dependendo do tamanho da planilha e essas fórmulas enormes, vai demorar muito para efetuar esses cálculos, então fiz o VB percorrer entre as planilhas, fazer a soma e inserir nas células somente os valores já somados.
Como não há fórmula, não há cálculo automático.

Foi bastante complicado entender o funcionamento dessa planilha, como quer (o que precisa) e a necessidade de diversas coisas, mas fiz o que consegui.
Tem como me enviar o que está fazendo errado e como é para fazer?

Qualquer coisa da o grito.
Abraço.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/05/2014 9:58 pm
(@caeh-a)
Posts: 11
Active Member
Topic starter
 

Oi Bernardo!
Estava escrevendo uma resposta enorme quando consegui de alguma forma tornar o macro do jeito que eu estava esperando, mas me deparei com um debug na terceira vez que rodei o macro.
O que eu "consegui de alguma forma" foi trocar os valores da linha

        'Faz os cálculos dentre os dias do mês para que sejam puladas as linhas da planilha de acordo com o tipo de produto (aqui você coloca o número correspondente ao setor)
        Vi2 = 6 + i * 5 + (Linha - 4)

Onde antes estava [...] + (Linha -1) eu fui trocando para -6, -5 para o macro pegar as linhas que eu precisava. Mas quando cheguei no -4 ele deu um debug na seguinte linha:

           Valor = Valor + wbPI.Sheets(j + 1).Cells(Vi2, k).Value

"Run-time error '13':
Type mismatch

Engraçado que para os valores -6 e -5 eu não tive problema. O que devo fazer?
Obrigado!
Abaixo segue o código onde só estou alterando esses valores que citei

Option Explicit
    
Sub coluna3_Forma()
'Declaração das variáveis
Dim i       As Long
Dim Vi      As Integer
Dim i2      As Long
Dim Vi2     As Integer
Dim j       As Long
Dim k       As Long
Dim Colab   As Long
Dim Setor   As Long
Dim Produ   As Long
Dim Valor   As Long
Dim Linha   As Long
Dim wbPI    As Workbook
Dim wbPD    As Workbook

'Desabilita a atualização da tela
Application.ScreenUpdating = True
'Desabilita o cálculo automático
Application.Calculation = xlCalculationAutomatic

'Determina alguns valores constantes
Colab = 15  'Quantidade de colaboradores
Setor = 5   'Quantidade de setores
Produ = 45  'Quantidade de produtos 45
Linha = 1   'Produto - {1 = Costura; 2 = Vira; 3 = Forma; 4 = Estamparia; 5 = Embalagem}

'Seta a pasta de trabalho a ser carregada as informações
Set wbPI = Workbooks("Malharia - PI.xlsx") ' Editar o nome da planilha
'Seta a pasta de trabalho atual
Set wbPD = ThisWorkbook

'Zera o valor da variável "Valor"
Valor = 0
    'Faz o loop dos dias do mês
    For i = 1 To 31
        'Faz os cálculos dentre os dias do mês para que sejam puladas as linhas da planilha atual
        Vi = 5 + i * 2
        'Faz os cálculos dentre os dias do mês para que sejam puladas as linhas da planilha de acordo com o tipo de produto (aqui você coloca o número correspondente ao setor)
        Vi2 = 6 + i * 5 + (Linha - 4)
        'Faz o loop nas colunas dos produtos da planilha atual
        For k = 2 To Produ + 1
            'Faz o loop nas planilhas individuais dos colaboradores
            For j = 1 To Colab
                'Soma o valor correspondente das planilhas individuais dos colaboradores
                Valor = Valor + wbPI.Sheets(j + 1).Cells(Vi2, k).Value
            'Passa para o próximo valor do loop
            Next j
            'Atribui o valor somado à sua devida célula de origem
            wbPD.ActiveSheet.Cells(Vi, k).Value = Valor
            'Zera o valor da variável "Valor"
            Valor = 0
        'Passa para o próximo valor do loop
        Next k
    'Passa para o próximo valor do loop
    Next i

'Habilita a atualização da tela
Application.ScreenUpdating = True
'Habilita o cálculo automático
Application.Calculation = xlCalculationAutomatic

End Sub
 
Postado : 22/05/2014 10:26 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia Caeh,

Segue modificação.

Qualquer coisa da o grito.
Abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/05/2014 9:16 pm
(@caeh-a)
Posts: 11
Active Member
Topic starter
 

Oi Bernardo!
Esse arquivo que me mandou tem o botão de calcular mas não consigo encontrar a macro que havia montado, então não consigo alterar as coisas pra deixar certinho...
Estou mexendo na versão anterior que me mandou, tentando encontrar solução via tentativa e erro, só assim que descubro aqui...
Desculpa o transtorno.

Att,
Caeh

 
Postado : 23/05/2014 8:27 am
(@caeh-a)
Posts: 11
Active Member
Topic starter
 

Bernardo, olha como eu deixei.
Se você abrir clicar em "Calcular" na aba "Forma" você vai ver o problema que tenho. O mesmo eu não tive nas duas abas anteriores.
Segue anexo

http://www.4shared.com/rar/rAxR0YlLba/Produo.html

 
Postado : 23/05/2014 9:01 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Fala Caeh

Cara, onde se encontra os "Módulos", tem em cima uma pastinha de "Fórmulários".
Nele vai encontrar o formulário "Calcular". Clique duas vezes sobre ele que irá abrir o formulário, para ver o código, clique com o botão direito do mouse sobre ele e escolha a opção "Exibir código".

Na verdade não seria bem para alterar onde está alterando, o local correto que deixei era nas constantes.
Linha = 1 'Produto - {1 = Costura; 2 = Vira; 3 = Forma; 4 = Estamparia; 5 = Embalagem}

Para não ter que ficar mexendo no código fiz esse último onde é só inserir o número da linha do produto.

Nesse arquivo que me enviou não tem essa aba "forma".

Qualquer coisa da o grito.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/05/2014 10:44 am
(@caeh-a)
Posts: 11
Active Member
Topic starter
 

Oi Bernardo,
Encontrei o código.
Segue anexo a planilha que você não encontrou a aba "Forma"

http://www.4shared.com/file/Srb3xH-nba/ ... _-_PD.html

 
Postado : 23/05/2014 11:22 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Cara, como disse, é melhor mexer nas constantes, mas como quer deixar assim, substitua esse valor:

            For j = 1 To Colab
                'Soma o valor correspondente das planilhas individuais dos colaboradores
                Valor = Valor + wbPI.Sheets(j + 1).Cells(Vi2, k).Value

por este:

            For j = 1 To Colab - 1
                'Soma o valor correspondente das planilhas individuais dos colaboradores
                Valor = Valor + wbPI.Sheets(j + 1).Cells(Vi2, k).Value

Qualquer coisa da o grito.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/05/2014 12:56 pm
Página 1 / 2