Ir ao conteúdo
  • Cadastre-se

Chamar macro por função Excel.


Posts recomendados

Pessoal, estou com o seguinte problema: :(

Como chamar uma macro por dentro de uma função do EXCEL sem recorrer a programação?

"Tenho uma macro que quero executar se o valor de uma célula for igual a x. Uso a função se, mas não sei como posso chamar a macro dentro da função."

Alguém pode me ajudar?

Obrigado.

Mario Reis

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Bom dia Siereis

Acho mais fácil usando programação mesmo.

Faça o seguinte:

Clique com lado direito do mouse na Aba da tua planilha--> clique em Exibir código--->copie e cole este código:

Private Sub Worksheet_Change(ByVal Target As Range) 

If Target.Address = "$A$1" then
Call NomeMacro
End if

End Sub

Substitua Nome Macro pelo nome da tua macro e substitua o $A$1 pela célula da tua planilha.

Um abraço

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 6 anos depois...

Reabrindo o tópico, pois estou com o mesmo problema e da forma como foi explicado acima, não funcionou.

O que estou tentando é: quando mudar o texto da célula A2 para "SIM", executar a macro bloquear().

 

Minha função:

Function bloquear()
  ActiveSheet.Unprotect Password:=""
  ActiveCell.Offset(0, 1).Select
  Selection.Resize(Selection.Rows.Count + 0, _
  Selection.Columns.Count + 5).Select
  Selection.Locked = True
  Selection.FormulaHidden = True
  ActiveSheet.Protect Password:=""
End Function

Estou tentando usar seguinte fórmula na A1:

 

=SE(A2="SIM";bloquear();"não deu")

mas não funciona.

 

Ilustrando:

 

image.png.1ac5b5c7aa1d56a2d4556bfba95a3d4e.png

 

Estou mandando um exemplo anexo.

 

exemplo chamar macro.zip

Link para o comentário
Compartilhar em outros sites

Não tem como chamar a funcao Bloquear por exemplo, atraves da forma e da formula, que esta fazendo. 

Veja no exemplo do post do @Patropi ele usou o evento da planilha chamado Worksheet_Change, que age conforme alguma celula é alterada na respect aba. 

Outro detalhe as funções que serão usadas em todas as abas, devem ficar em um modulo padrão e não no modulo de EstaPasta_de_trabalho, como voce colocou.

 

Veja as alteraçoes no anexo.

 

 

exemplo chamar macro_1.zip

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 10 meses depois...
Em 20/02/2011 às 11:08, Patropi disse:

Bom dia Siereis

Acho mais fácil usando programação mesmo.

Faça o seguinte:

Clique com lado direito do mouse na Aba da tua planilha--> clique em Exibir código--->copie e cole este código:

 

 

Private Sub Worksheet_Change(ByVal Target As Range) 

If Target.Address = "$A$1" then 
    Call NomeMacro 
End if 

End Sub 

 

Substitua Nome Macro pelo nome da tua macro e substitua o $A$1 pela célula da tua planilha.

Um abraço

Olá, deu quase certo a sua sugestão, porém no meu caso eu quero que zere um numero acima de 5 e ela esta zerando qualquer numero, como colocar a função SE dentro desta configuração?

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!