Ir ao conteúdo
  • Cadastre-se

Resultado de Procv não ativa macro


tiagonmuniz

Posts recomendados

Bom dia!

Pessoal, to com o seguinte problema,

tenho uma macro que é disparada automaticamente quando um valor é inserido em uma celula especifica, (isso eu digitando o valor), agora gostaria de fazer com que essa macro fosse disparada automaticamente de acordo com o resultado de uma PROCV, ao invés de ter que digitar o valor.

porém a procv não está ativando a macro, alguem pode ajudar?

Link para o comentário
Compartilhar em outros sites

Bom Dia...

como você nao postou um modelo de sua planilha, vai uma ideia

e você ve ai se funciona...

pelo q você falo, su macro precisa do valor do procv pra retornar o que você quer...

tenta colocar como desparador do vb as celulas que você digita para o Procv...

por ex: =procv(A5;G1:H60;2;0)

no caso você coloca como disparador do vb a celula A5....

espero ter ajudado!:cool:

Link para o comentário
Compartilhar em outros sites

Bom dia deejaywesley!

amigo, o problema é que o que influencia toda a planilha é o resultado da procv e nao a celula na qual é digitada.

exemplo, minha planilha pega por exemplo a marca, eu digito o codigo do produto e cada 1 deles tem uma marca, de acordo com o resultado da marca é que a macro dispara, porém são varias macros, entende? para cada marca 1 macro diferente. vou mostrar como fiz para disparar e você ve se tem algo errado.

o interessante é que se eu digitar no teclado o codigo ela executa, se eu puser uma procv, para pegar o resultado ai ela nao executa a macro.

Procv: =PROCV(E4;'[NOMENCLATURA DE PRODUTOS ATUALIZADA.xlsx]Produtos'!$1:$1048576;10;FALSO)

Macro:

Select Case Target.Address

Case "$G$19"

If UCase(Target.Value) = "-922" Then Call XXX_ORG_DESDOBRAMENTO

End Select

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...

Bom dia Senhores...

Alguem pode me ajudar,

ainda nao consegui resolver este problema.

Vou tentar explicar novamente.

Tenho uma planilha na qual eu insiro os dados em e4 e ela retorna um resultado de procv em m4. desta forma quero que de acordo com o valor em e4 ela dispare uma macro.

Obs: Manualmente eu tenho os mesmos codigos em uma celula G19 com validação de dados, ou se digitar manualmente ele já dispara a macro automatico.

Então o problema é apenas fazer com que o resultado da Procv ative.

Tentei por um link em G19 tipo =m4

porém a celula altera o valor mas não ativa a macro.

porém se eu der um F2 na celula g19 e logo apos enter, ai a macro é acinonada. Sendo assim, como faço para que seja automatico. tipo toda vez que inserir um valor em C4 já faça o g19 disparar.

Alguem pode me dar um help. Pelo que entendi tem que usar o Calculate. porém não sei como fazer.

Obrigado.

Link para o comentário
Compartilhar em outros sites

...

Velho ... pra fazer funcionar o evento calculate é só colocar o nome da macro dentro dele EX: tenho em B1 =SE(A1=1;A1;0)

no modulo tenho:

Sub teste()
If [A1] = 1 Then
[C1] = "valor 1"
Else
[C1] = "O valor não é 1"
End If
End Sub

no evento calculate eu tenho

Private Sub Worksheet_Calculate()
teste
End Sub

mas cuidado ao usa-lo pois qualquer calculo feito na planilha vai disparar o evento

Link para o comentário
Compartilhar em outros sites

Obrigado, vou testar amanha a noite e ja dou resposta.

Uma duvida o calculate, faz a função indiferente do resultado? ou seja ele calcula o valor da celula??

Desculpe as perguntas... é que estou aprimorando as planilhas, colocando outras funçoes... por isso a duvida e sou totalmente leigo em VBA.

Link para o comentário
Compartilhar em outros sites

Obrigado, vou testar amanha a noite e ja dou resposta.

Uma duvida o calculate, faz a função indiferente do resultado? ou seja ele calcula o valor da celula??

Desculpe as perguntas... é que estou aprimorando as planilhas, colocando outras funçoes... por isso a duvida e sou totalmente leigo em VBA.

o calculate executa uma função quando algo na planilha é calculado

Link para o comentário
Compartilhar em outros sites

...

velho ... talvez o calculate não seja o mais indicado para o q você quer fazer.

poste uma planilha de exemplo pois uma coisa tá complicada de entender ... você quer q o procv dispare a macro, tranquilo, mas é o seguinte ... pra q q você quer uma macro pra ser disparada só uma vez ???? entendeu minha dúvida ??

um exemplo de como funciona um calculate com o procv

http://www.sendspace.com/file/79nigg

Link para o comentário
Compartilhar em outros sites

então amigo... Fiz o comentario de apenas 1x pois tentei outros codigos e a planilha nao parava de calcular... Preciso na verdade que seja calculado apenas quando alterar em uma celula o resultado.

Obvio que toda a vez que ela for alterada precisa disparar a macro.

Pessoal ficou 100%

muito obrigado a todos!

PESSOAL, MAIS UMA DUVIDA

FIZ ESTE VBA

If Worksheets("001 - Informações EXPORTAÇÃO").Range("C12").Value = "" Then

MsgBox "INFORME O NÚMERO DA NOTA FISCAL"

Exit Sub

End If

End Sub

porém ELE ESTÁ ATIVANDO A MENSAGEM DE TEXTO EM TODAS AS PLANILHAS QUE TENHO EM ABERTO.

COMO FAÇO PARA QUE ELE DE A MENSAGEM APENAS ENQUANTO ESTIVER NESTA PLANILHA "001 - ..." ??

OBRIGADO.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...