locked
Executar macro automáticamente ao selecionar plan RRS feed

  • Pergunta

  • Amigos é o seguinte:

    Estou inciando nas macros e vb's ae ainda bem no incio..

    Aprendendo sozinho e pegando exemplos pela net, lendo aqui ou lendo ali e tal....

     

    No momento to meio amarrado (amarrado e meio) numa macro.

     

    Tenho uma pasta com algumas planilhas em que assim que abri o arquivo roda a macro chamando um formulário onde no formulário tenho algumas opções que estão funcionando beleza.

     

    Acontece agora que quero rodar uma macro da seguinte forma.

     

    ao abrir o arquivo ele vai selecionar uma planilha que chamo de telainicial onde não tem nada nela. apenas ela está servindo de fundo para o formulário.

    Esse código abaixo está em EstaPasta_de_trabalho

    Private Sub Workbook_Open()

      Sheets("Tela_Inicial").Select  (está dando erro - se eu tiro roda normal)
      Form_Opçao.Show
      Range("a$25").Select

    End Sub

    Preciso também executar quando selecionar a plan

    Preciso que rode o seguinte:

     

    se o usuário clicar na aba para mudar de planilha quero que faça o seguinte:

    ir para a plan telaincial

    chamar o form

     

    isso em qualquer planilha...

     

    é chato mas preciso disso pois toda vez que ele mudar de plan preciso pergunta-lhe o que ele vai fazer! chamando o formulário!!

     

    alguém pode me  ajudar?

     

    um abraço a todos!

     

    quarta-feira, 14 de julho de 2010 13:44

Respostas

  • Edval boa noite

     

    Faça o seguinte...

    Em Esta_Pasta_de_trabalho coloque

    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
      Sheets("TelaInicial").Activate
    End Sub
    

    Na planilha Tela_Inicial coloque

    Private Sub Worksheet_Activate()
      Form_Opçao.Show
    End Sub
    

    Teste ai e qualquer coisa fale.

    Att


    Bruno Silva Leite Office Developer
    • Marcado como Resposta Edval Viana sexta-feira, 23 de julho de 2010 02:16
    quarta-feira, 14 de julho de 2010 23:05

Todas as Respostas

  • Edval boa noite

     

    Faça o seguinte...

    Em Esta_Pasta_de_trabalho coloque

    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
      Sheets("TelaInicial").Activate
    End Sub
    

    Na planilha Tela_Inicial coloque

    Private Sub Worksheet_Activate()
      Form_Opçao.Show
    End Sub
    

    Teste ai e qualquer coisa fale.

    Att


    Bruno Silva Leite Office Developer
    • Marcado como Resposta Edval Viana sexta-feira, 23 de julho de 2010 02:16
    quarta-feira, 14 de julho de 2010 23:05
  • Aê Bruno, desculpa pela demora.. Infelizmente não tenho como testar agora.. rsss.

    Entrei de licença forçada.. torsi o tornozelo e as Pastas ficam na empresa... mas assim que eu puder.. (vou pedir para enviarem as plan pra mim)

     

    Vou testat e te falo! e defino como resposta válida mas obrigado assim mesmo!!!

     

    obrigado

     

    e até daqui a pouco se Deus quiser!!!!

     

    quinta-feira, 15 de julho de 2010 14:40