Dim flag as Integer
flag = MsgBox("Deseja Salvar as Alterações antes de Sair?", vbYesNoCancel, "Finalizar")
If flag = vbYes Then
Call SalveChanges 'função que salva as alterações
Unload Me
Elseif flag = vbNo Then
Unload Me
Else 'nesse caso flag = vbCancel
'aqui nao vou fazer nada, mas pode-se programar o que quizer ligar ao botão cancel
End If
Nesse exemplo eu criei um script que pode ser colocado em um Botão Finalizar, por exemplo, onde o MsgBox pergunta se devo salvar as alterações. Se clicar em Sim, eu salvo e depois finalizo, se clicar em não, finalizo direto, e se clicar em Cancelar, o programa não faz nada, continua como está.
Isso é só um exemplo, mas mostra como você pode usar o vbYesNoCancel, usando uma variável de Bandeira (flag) para guardar a resposta da MsgBox para ser usada em mais de um If...
Espero que isso tenha resolvido sua dúvida... qq coisa pergunta ai que a gente responde...
Elieser Carlos Topassi
São José do Rio Preto, SP