Ir ao conteúdo
  • Cadastre-se
Gabriel Mascarenhas

Macro para renomear aba e atualizar fórmulas

Recommended Posts

Prezados,

Tenho a macro abaixo que cria uma cópia somente com os valores da guia "mãe" renomeando para o texto "Inserir Mês", de modo que o usuário possa inserir o mês de referência, que seria o mesmo mês da planilha "mãe". Porém tem um detalhe. Cada vez que o usuário renomeia "Inserir Mês" pelo mês da guia "mãe", p. ex. "JAN", "FEV",..., estes alimentam uma série de fórmulas em uma planilha de tabulação que assim alimenta os relatórios gráficos. Porém toda vez que se renomeia, é necessário aquela velha "martelada" nas células das fórmulas para atualiza-las, pois como não tem o nome previamente cadastrado ("JAN", "FEV",...) apresentam erro de valor "#VALOR". Queria que a macro renomeasse automaticamente a cópia para o nome do mês de referência da guia "mãe" e atualizasse automaticamente as fórmulas.

Segue:

Sheets("BMVT").Select
    Sheets("BMVT").Copy After:=Sheets("Recibo")
    Sheets("BMVT (2)").Select
    Sheets("BMVT (2)").Name = "Inserir Mês"
    Sheets("BMVT").Select
    Range("BMVT").Select
    Selection.Copy
    Sheets("Inserir Mês").Select
    Range("A6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("BMVT").Select
    Application.CutCopyMode = False
    Range("A6").Select
    Sheets("Inserir Mês").Select
    Range("A6").Select

 

Editado por Gabriel Mascarenhas

Compartilhar este post


Link para o post
Compartilhar em outros sites

A grande questão me parece ser porque você pensa q precisa criar e apagar uma aba p/ cada mês, porque você simplesmente não seleciona o mês numa aba permanente e deixa o Excel filtrar os dados p/ você?

Outra coisa, um bom código de macro tem o mínimo possível de '.Select'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu tava buscando um norte para essa macro, eu fui ajustando a gravação de macro do Excel, de maneira que chequei a esse resultado. Até que ele funciona com certa utilidade. A questão é que quero reduzir as "forçadas" como: ter que renomear a aba criada - ao invés de "Inserir Mês", ser já o mês conforme a célula de seleção (na planilha BMVT é a W4) - e ter que dar a "martelada" com o Enter nas fórmulas da aba "Rel_Gestão" de modo que estas já atualizem os dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara sua planilha precisa de ter alguns dados.

 

Ela precisa estar funcional para que possamos entender testar o arquivo, é claro que os dados nao devem ser reais, so devem mostar como funciona sua planilha. você conhece o funcionamento então fica fácil preencher os outros usuarios nao. e o @DJunqueira  tem razão você nao precisa criar e apagar uma planilha por mes você pode lançar o ano todo em uma unica aba e criar os relatorios que quiser a parte, seja com macro, com formulas ou ainda com Tabela Dinamica, essa ultima coitada é poderosa mas muito desprezada.

 

Em resumo lançando os dados na planilha com um banco de dados e uma tabela dinamica bem elaborada você tem todos os totais que precisar, seja por funcionario, por mes, por ano, por setor, por situação, enfim pelo que você quiser.

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 minutos atrás, CasaDoHardware disse:

Cara sua planilha precisa de ter alguns dados.

 

Ela precisa estar funcional para que possamos entender testar o arquivo, é claro que os dados nao devem ser reais, so devem mostar como funciona sua planilha. você conhece o funcionamento então fica fácil preencher os outros usuarios nao. e o @DJunqueira  tem razão você nao precisa criar e apagar uma planilha por mes você pode lançar o ano todo em uma unica aba e criar os relatorios que quiser a parte, seja com macro, com formulas ou ainda com Tabela Dinamica, essa ultima coitada é poderosa mas muito desprezada.

 

Em resumo lançando os dados na planilha com um banco de dados e uma tabela dinamica bem elaborada você tem todos os totais que precisar, seja por funcionario, por mes, por ano, por setor, por situação, enfim pelo que você quiser.

Agora é a minha vez de concordar com o CasaDoHardware, nós tb precisamos de dados fictícios p/ testar possíveis soluções e tabelas dinâmicas são muito desprezadas, especialmente pela possibilidade de montar relatórios mais sofisticados utilizando funções cubo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 27/06/2016 às 15:38, Gabriel Mascarenhas disse:

... é que quero reduzir as "forçadas" como: ter que renomear a aba criada - ao invés de "Inserir Mês", ser já o mês conforme a célula de seleção (na planilha BMVT é a W4) - e ter que dar a "martelada" com o Enter nas fórmulas da aba "Rel_Gestão" de modo que estas já atualizem os dados

 

Com base nos conteúdos possíveis em 'W4' a planilha referente ao mês de outubro receberá o nome "Outubro", no entanto nas fórmulas da planilha 'Rel_Gestao' você utilizou o nome da planilha como "OUT".

Dessa forma as fórmulas vão continuar retornando  #VALOR. Ou você muda o nome da planilha ou muda a fórmula. Decida o que você quer fazer, disponibilize nova amostra do seu arquivo com as correções, em seguida te passo um código para fazer a cópia da planilha, renomear e "dar a martelada"!

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
17 minutos atrás, Gabriel Mascarenhas disse:

@osvaldomp O código rodou certinho. Obrigado amigo!

 

:thumbsup:  Parabéns por ter se decidido por uma solução fácil, rápida e eficiente ;):atirador:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caríssimo @osvaldomp,

 

Ao retornar de férias, o pessoal que ficou rodando a planilha, a quem pedi, de modo que possamos melhorá-la ainda mais, questionou o seguinte. Quando os valores unitários são atualizados na guia "Rota", devido a fórmula, eles automaticamente atualizam as planilhas já geradas o que ocasiona uma alteração final de valores totais para fins de relatório no final do ano. Então acredito que o melhor seria copiarmos os valores das fórmulas. Como eu havia dito, estava utilizando o script abaixo para realizar essa operação, que na atual macro não funciona.

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

 

Peço que veja a planilha enviada antes para ver como podemos fazer essa operação.

 

Muito obrigado,

Gabriel

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 18/08/2016 às 10:34, Gabriel Mascarenhas disse:

Caríssimo @osvaldomp,

 

Ao retornar de férias, o pessoal que ficou rodando a planilha, a quem pedi, de modo que possamos melhorá-la ainda mais, questionou o seguinte. Quando os valores unitários são atualizados na guia "Rota", devido a fórmula, eles automaticamente atualizam as planilhas já geradas o que ocasiona uma alteração final de valores totais para fins de relatório no final do ano. Então acredito que o melhor seria copiarmos os valores das fórmulas. Como eu havia dito, estava utilizando o script abaixo para realizar essa operação, que na atual macro não funciona.

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

 

Peço que veja a planilha enviada antes para ver como podemos fazer essa operação.

 

Muito obrigado,

Gabriel

@DJunqueira Peço verificar se é possível ajudar nesse post.

 

Muito grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×