none
ComboBox para envio de e-mail RRS feed

  • Pergunta

  • Boa tarde!
    Por favor, estou criando um combobox para enviar e-mails após um nome ser escolhido. Esta funcionando Ok, porém, quando dou um (salvar como) para ter uma copiada deste excel ele automaticamente me envia outro um e-mail. Preciso que ocorra apenas na primeira escolha de nome e não mais. Poderiam me ajudar? Os demais envios de e-mail para as futuras copias deste excel serão pela célula (d12) quando maior que "zero". ( este também está funcionado) 

    Private Sub ComboBox3_Change()
    If Range("d12") > 0 Then Exit Sub
    If ComboBox3.Value = "" Then Exit Sub
    SendEmail
    End Sub

    quarta-feira, 26 de janeiro de 2011 17:56

Respostas

  • Bem no início do código, fora de todos os eventos/procedimentos/funções, adicione:

    Dim blJáEnviou As Boolean

    Em UserForm_Initialize, adicione o código:

    Private Sub UserForm_Initialize()
      'Início do Procedimento. Adicione:
      blJáEnviou = False
      
      '...resto do código...
    End Sub

    No seu procedimento ComboBox3_Change, faça:

    Private Sub ComboBox3_Change()
      If Range("d12") > 0 Then Exit Sub
      If ComboBox3.Value = "" Then Exit Sub
      If Not blJáEnviou Then
        SendEmail
        blJáEnviou = True
      End If
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    • Marcado como Resposta RMancini quinta-feira, 27 de janeiro de 2011 17:08
    quarta-feira, 26 de janeiro de 2011 22:51
    Moderador

Todas as Respostas

  • Bem no início do código, fora de todos os eventos/procedimentos/funções, adicione:

    Dim blJáEnviou As Boolean

    Em UserForm_Initialize, adicione o código:

    Private Sub UserForm_Initialize()
      'Início do Procedimento. Adicione:
      blJáEnviou = False
      
      '...resto do código...
    End Sub

    No seu procedimento ComboBox3_Change, faça:

    Private Sub ComboBox3_Change()
      If Range("d12") > 0 Then Exit Sub
      If ComboBox3.Value = "" Then Exit Sub
      If Not blJáEnviou Then
        SendEmail
        blJáEnviou = True
      End If
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    • Marcado como Resposta RMancini quinta-feira, 27 de janeiro de 2011 17:08
    quarta-feira, 26 de janeiro de 2011 22:51
    Moderador
  • Benzadeus, obrigado por seu código! Me ajudou muito.. consegui resolver os demais problemas que eu estava tento.
    quinta-feira, 27 de janeiro de 2011 17:10