MsgBox ile gösterilen mesajda MsgBox üzerinde hangi tuşa basıldıysa ona göre işlem yapılmasını sağlayan alternatif bir kod aşağıdadır.
Option Explicit
Sub MesajKutusuSonucunaGoreIslemYap()
Dim sonuc As Integer
Dim metin As String
metin = "Örnek işleme devam edilsin mi?"
sonuc = MsgBox(metin, vbYesNoCancel + vbQuestion, "Soru")
If sonuc = vbYes Then
Range("A1") = "Örnek işleme devam edildi."
ElseIf sonuc = vbNo Then
Range("A1") = "Örnek işleme devam edilmedi."
ElseIf sonuc = vbCancel Then
Range("A1") = "Örnek işlem iptal edildi."
End If
End Sub
Option Explicit
Sub MesajKutusuSonucunaGoreIslemYap()
'--------------------------------------------------
'MsgBox sabitleri sayı ile temsil edildiğinden
'değişkeni Integer olarak tanımlandı.
'--------------------------------------------------
Dim sonuc As Integer
Dim metin As String
'--------------------------------------------------
'Mesaj metnini bir değişkene aktar.
'--------------------------------------------------
metin = "Örnek işleme devam edilsin mi?"
'--------------------------------------------------
'MsgBox tuşlarına basıldığında
'gelen sonucu değişkene aktar.
'--------------------------------------------------
sonuc = MsgBox(metin, vbYesNoCancel + vbQuestion, "Soru")
'--------------------------------------------------
'Mesaj sonucuna göre işlem yaptır.
'--------------------------------------------------
If sonuc = vbYes Then
Range("A1") = "Örnek işleme devam edildi."
ElseIf sonuc = vbNo Then
Range("A1") = "Örnek işleme devam edilmedi."
ElseIf sonuc = vbCancel Then
Range("A1") = "Örnek işlem iptal edildi."
End If
End Sub