Página 1 de 1

Macro para não usar mais fórmulas

Enviado: 23 Nov 2016 às 15:37
por tpoliveira
Boa tarde,

Tenho uma planilha que está muito grande devido ela toda ser trabalhada em formulas.

Queria que a planilha de DISPONIBILIDADE MENSAL, fosse em macro, é possível?

Segue anexo da planilha

Re: Macro para não usar mais fórmulas

Enviado: 24 Nov 2016 às 09:29
por alexandrevba
Bom dia!!

Você precisa converter todas as formulas em macro?
Na nossa pesquisa eu já fiz postagem sobre esse assunto.
Veja um exemplo na guia DISPONIBILIDADE SEMANAL
Código: Selecionar todos
Sub Formulas()
    Range("B9").Formula = "=IF(CADASTRAL!A26=0,"""",CADASTRAL!A26)"
     Range("C9").Formula = "=IF(CADASTRAL!B26=0,"""",CADASTRAL!B26)"
      Range("D9").Formula = "=IF(CADASTRAL!C26=0,"""",CADASTRAL!C26)"
       Range("E9").Formula = "=IF(CADASTRAL!D26=0,"""",CADASTRAL!D26)"
        Range("F9").Formula = "=IF(CADASTRAL!E26=0,"""",CADASTRAL!E26)"
            Range("G9").Formula = "=IFERROR(IF($F$3=0,"""",R9/Q9),R9/$P9)"
              Range("H9").Formula = "=IFERROR(IF($F$3=0,"""",T9/S9),T9/$P9)"
                Range("I9").Formula = "=IFERROR(IF($F$3=0,"""",V9/U9),V9/$P9)"
              Range("J9").Formula = "=IFERROR(IF($F$3=0,"""",X9/W9),X9/$P9)"
            Range("K9").Formula = "=IFERROR(IF($F$3=0,"""",Z9/Y9),Z9/$P9)"
        Range("L9").Formula = "=IFERROR(IF($F$3=0,"""",AB9/AA9),AB9/$P9)"
       Range("M9").Formula = "=IFERROR(IF($F$3=0,"""",AD9/AC9),AD9/$P9)"
      Range("B9:AD9").AutoFill Destination:=Range("B9:AD" & Cells(Rows.Count, 1).End(xlUp).Row)
     Range("B9:M84").Value = Range("B9:M84").Value
    Range("O10:AD84").Value = Range("O10:AD84").Value
End Sub
Att

Re: Macro para não usar mais fórmulas

Enviado: 26 Nov 2016 às 10:42
por tpoliveira
Bom dia Alexandre,

Obrigado pela resposta

É exatamente isso que to querendo, porém eu coloquei a macro na planilha de disponibilidade e ficou tudo 0, mas puxou as folgas do pessoal.

Isso porque tem umas formulas ao lado que estão ocultas e calculam quanto tempo eu coloco para cada funcionário por dia. Queria integrar tudo isso na macro. Coloquei o print em anexo, tem como fazer isso?

Re: Macro para não usar mais fórmulas

Enviado: 27 Nov 2016 às 04:45
por DJunqueira
Fiz algumas alterações na sua planilha e o tamanho dela caiu p/ quase um terço.

Transformei suas listas nas abas PROGRAMAÇÃO e PROGRAMAÇÃO (2) em tabelas reconhecidas pelo Excel, só isso já reduziu bastante o tamanho da planilha, depois retirei as colunas auxiliares. Notar q as novas tabelas se moldam a qq dado inserido abaixo delas, fazendo com q vc não precise reconfigurar fórmulas.

Adaptei as outras abas a retirada das colunas auxiliares, mas é sempre bom vc conferir...

Tb alterei algumas fórmulas de datas e formatações condicionais.

Macro para não usar mais fórmulas

Enviado: 28 Nov 2016 às 09:11
por tpoliveira
Obrigado Djunqueira, a planilha está mais leve agora.

Mas minha ideia mesmo era transformar toda formula da disponibilidade semanal em macro. Porque cada vez que você faz uma ação fica processando e calculando.

Macro para não usar mais fórmulas

Enviado: 28 Nov 2016 às 12:20
por DJunqueira
Vc pode passar sua planilha p/ cálculo manual quando for fazer algo...

Re: Macro para não usar mais fórmulas

Enviado: 02 Dez 2016 às 21:00
por alexandrevba
Boa noite!!

Copie novamente o código da minha primeira postagem, eu havia feito uma parte.

Faça os testes!

Att