Notifications
Clear all

Worksheet_Calculate()

27 Posts
4 Usuários
0 Reactions
2,535 Visualizações
(@willc)
Posts: 0
New Member
Topic starter
 

Olá pessoal, boa tarde!
É minha primeira vez aqui no Forum e estou com uma dúvida me quebrando a cabeça e como não tenho muito conhecimento e VBA, preciso de uma ajuda...

Preciso executar uma macro a partir da alteração de uma celula, no entanto, essa celula tem formula, ou seja, quero que ela execute atraves do resultado dessa celula ou de qualquer outra?

Me ajudem por favor!!!

Obrigado

 
Postado : 07/06/2016 10:35 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde WillC

Seja bem-vindo ao fórum!

Fica mais fácil do pessoal ajudar se você anexar uma planilha de exemplo, demonstrando o que você deseja.

Como você é novato no fórum, para facilitar a tua participação no fórum, sugiro tomar conhecimento do conteúdo dos links abaixo:

viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

[]s
Patropi - Moderador

 
Postado : 07/06/2016 10:50 am
(@willc)
Posts: 0
New Member
Topic starter
 

Valeu Obrigado pelas boas vindas...

É que na verdade é o seguinte:
Tenho uma planilha que alimento e faço um Procv para um outro arquivo que contem a macro, vou trabalhar com as 2 abertas. Quando altero alguma informação na planilha sistema de vendas, automaticamente altera o resultado da planilha Painel e é nessa hora que a macro precisa ser ativada.

É como se a Planilha Painel fosse ficar apenas para consulta e ela será atualizada pela planilha Sistema de Vendas

Segue mais ou menos um exemplo...

Obrigado

 
Postado : 07/06/2016 1:28 pm
(@mprudencio)
Posts: 0
New Member
 

Cara nao entendi vc disse que a planilha tem formulas o que vi foi um desenho com formas apenas isso

Pessoalmente acho (so acho) que vc esta complicando o simples.

Afinal o que vc de fato quer fazer e pq duas planilhas e nao apenas uma

 
Postado : 07/06/2016 3:04 pm
(@willc)
Posts: 0
New Member
Topic starter
 

Olá Marcelo,

Seguinte:
Fiz em 2 planilhas porque uma será alterada em tempo real e a outra ficará em um telão, conforme for alterando o status do lote, faço a alteração na planilha Sistema de Vendas e automaticamente altera a cor da bolinha relacionada aquele lote.

Vc pode notar que atrás da imagem da 2ª planilha tem os dados que são repetidos da 1ª planilha, para que a macro "Atualizar" funcione. No entanto, quero que ela execute quando alterar a Situação do Lote na 1ª planilha.

Obrigado

 
Postado : 07/06/2016 3:43 pm
(@mprudencio)
Posts: 0
New Member
 

Vi e notei que ja tem formulas que aparentemente funcionam como vc deseja, ou seja ao alterar uma a outra sera alterada....

Qual o problema afinal?

 
Postado : 07/06/2016 3:49 pm
(@willc)
Posts: 0
New Member
Topic starter
 

Então, tente alterar a situação do lote na planilha 1, vai notar que a bolinha na planilha 2 não altera automático. A não ser que vc vai lá no visual basic e execute a macro.

O objetivo seria ativar a macro com outra para que funcione.

Pesquisei e até encontrei o evento Sub Worksheet_Calculate() - mas não consegui concluir para que fosse executado.

 
Postado : 07/06/2016 4:35 pm
(@osvaldomp)
Posts: 857
Prominent Member
 

... para que a macro "Atualizar" funcione. No entanto, quero que ela execute quando alterar a Situação do Lote na 1ª planilha.

Veja se ajuda:
Instale o código abaixo no módulo da planilha "Sistema de Vendas" do arquivo "Exemplo - Sistema".

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Column <> 4 Then Exit Sub
 Application.Run ("'Exemplo - Painel.xlsm'!Atualizar")
End Sub

obs.
1. o código "Atualizar" será chamado após alteração de conteúdo em qualquer célula da coluna 'Situação do Lote'
2. o seu código "Atualizar" irá atuar na planilha ativa, ou seja, na planilha "Sistema de Vendas" do arquivo "Exemplo - Sistema" e não na planilha "Plan1" do arquivo "Exemplo - Painel", como me parece que você deseja. Então é necessário que você especifique no código "Atualizar" em qual planilha de qual arquivo ele deverá atuar.

 
Postado : 07/06/2016 7:48 pm
(@willc)
Posts: 0
New Member
Topic starter
 

Não deu certo Osvaldo!!

Eu estava pesquisando a respeito e esse evento Worksheet _Change, é usado quando se altera a célula manualmente, ou seja, quando não tem fórmula.

O que eu preciso é de um código que altera quando muda o resultado da fórmula.

 
Postado : 08/06/2016 5:40 am
(@osvaldomp)
Posts: 857
Prominent Member
 

Não deu certo Osvaldo!!

Eu estava pesquisando a respeito e esse evento Worksheet _Change, é usado quando se altera a célula manualmente, ou seja, quando não tem fórmula.

O que eu preciso é de um código que altera quando muda o resultado da fórmula.

Conforme eu comentei antes "o código "Atualizar" será chamado após alteração de conteúdo em qualquer célula da coluna 'Situação do Lote'",
e naquela coluna não há fórmulas :? Há Validação de Dados ;) . Então o código que sugeri vai sim funcionar.
Ou estamos tratando de assuntos diferentes?

 
Postado : 08/06/2016 5:59 am
(@willc)
Posts: 0
New Member
Topic starter
 

Na realidade o código deverá ficar na planilha do arquivo painel, para que chame a macro e a bolinha do mapinha seja alterada.
Pois quando altero na planilha sistema os dados são copiados para a planilha painel que está com a fórmula e é aí que a macro deverá ser executada.

 
Postado : 08/06/2016 6:15 am
(@willc)
Posts: 0
New Member
Topic starter
 

Note que atrás do mapa com as bolinhas estão as fórmulas, e é a partir desse dados que a macro deverá ser executada.

 
Postado : 08/06/2016 6:23 am
(@osvaldomp)
Posts: 857
Prominent Member
 

Na realidade o código deverá ficar na planilha do arquivo painel,

Não necessariamente, pois essa é uma outra solução, diferente da que eu sugeri.
Você testou ?

 
Postado : 08/06/2016 6:24 am
(@willc)
Posts: 0
New Member
Topic starter
 

Sim, testei e não deu certo.

 
Postado : 08/06/2016 7:06 am
(@osvaldomp)
Posts: 857
Prominent Member
 

O que significa "não deu certo" ?

Nada foi alterado pelo código? Algo foi alterado e o resultado foi diferente do esperado ? ou o quê?

O que exatamente você fez para testar ?

 
Postado : 08/06/2016 7:34 am
Página 1 / 2