Notifications
Clear all

MSGBOX ou FORM

7 Posts
2 Usuários
0 Reactions
2,454 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde,

Estou com uma planilha com diversas macros, executando formatação, inserindo formulas, gerando dinamicas etc....
Para finalizar com chave de ouro, preciso de um recurso como uma msgbox, permitindo vincular uma macro para SIM e outra para NÃO, porem com um timer que se não esclhido a opção em X segundos uma determinada macro será executada e consequentemente a msgbox fechada.

Encontrei algumas macros para isto mas só permitem um botão (OK) e preciso de dois (SIM/NAO). Me indicaram um form, mas não consego seguir adiante.

Algum "samaritano" consegue me solucionar este problema ?!?!

Desde já, agradeço.

 
Postado : 19/04/2012 1:49 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!
Quanto a Msgbox....

Sub menssagemSimNão()
Dim RespostaAle As String
Dim AleVBA As String

  
    AleVBA = "Você Concorda?"

    RespostaAle = MsgBox(AleVBA, vbQuestion + vbYesNo, "???")

    If RespostaAle = vbNo Then
       
        MsgBox "Você apertou Não!"
    Else
        
        MsgBox "Você apertou Sim!"
    End If

End Sub
 
Postado : 19/04/2012 6:38 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia Alexandre,

Obrigado pelo seu retorno.

Meu maior problema é inserir um cronometro na msgbox com multipla escolha. Por exemplo: após 5 segundos executa a macro do botão SIM ou executar a macro dos botões SIM ou NÃO se clicado antes de 5 segundos.

Abaixo, segue exemplo de msgbox com tempo, porem não consegui configura-la para aceitar o vbYesNo.

Private Sub AutoFechaMsgBox(Mensagem As String, Titulo As String, Segundos As Integer)
Set oSHL = CreateObject("WScript.Shell")
oSHL.PopUp Mensagem, Segundos, Titulo, vbOKOnly + vbInformation
End Sub 
'- - - - - - - - - - - - - - - - - - - 
Sub AutoMessagem()
AutoFechaMsgBox "Clique em OK ou aguarde", "MsgBox fecha automaticamente", 1
AutoFechaMsgBox "Alterar o Cadastro de Clientes", "Cadastro de Clientes", 2
AutoFechaMsgBox "Aprenda Microsoft Excel VBA" & vbCrLf _
& "Praticando, com os produtos didáticos" & vbCrLf _
& "Escola SaberExcel", "Curso MS Excel VBA Saberexcel", 2
End Sub

[url]
http://www.microsoftexcel.com.br/index. ... =component
[/url]

 
Postado : 20/04/2012 6:24 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Volnei,

Teste assim:

Private Sub AutoFechaMsgBox(Mensagem As String, Titulo As String, Segundos As Integer)
Set oSHL = CreateObject("WScript.Shell")
oSHL.PopUp Mensagem, Segundos, Titulo, vbOKOnly + vbInformation
End Sub

Sub Optar()
  If MsgBox("Opcional: Sim/Não.", vbYesNo + vbQuestion, "AutoFechaMsgBox") = vbNo Then
  AutoFechaMsgBox "Optastes por Não.", "MsgBox fecha automaticamente", 1
   Exit Sub
  End If
    AutoFechaMsgBox "Optastes por Sim.", "MsgBox fecha automaticamente", 1
End Sub
 
Postado : 20/04/2012 11:44 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Jose, obrigado pela ajuda.

Testei o código com sua alteração, para mim ocorreu da seguinte forma:
- Abriu a msgbox perguntando SIM ou NÃO e ficou desta forma até ter minha intervenção. Após apareceu outra msgbox e esta sim, ficou aberta por um determinado tempo e fechou.

Precisava que ocorresse isto na primeira msgbox, sendo a segunda desnecessaria.

 
Postado : 20/04/2012 12:23 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Verique o modelo em anexo.

 
Postado : 21/04/2012 8:42 pm
(@henriquefp)
Posts: 0
New Member
 

O arquivo está corrompido, poderia enviar novamente?

 
Postado : 02/06/2016 9:44 am