Excel Formül
Modül 4: Kullanıcı İletişimi (Dialogs)

MsgBox (Mesaj Kutusu) Detayları

Şu ana kadar kodlarımızın bittiğini kullanıcıya haber vermek için basitçe MsgBox "İşlem Tamam" komutunu kullandık. Ancak MsgBox sadece bir bilgi ekranı değildir; kullanıcıdan onay alabileceğimiz, soru sorabileceğimiz çok güçlü bir iletişim aracıdır.

İkon ve Buton Kombinasyonları

MsgBox fonksiyonuna ekleyeceğimiz parametrelerle pencerenin görünümünü tamamen değiştirebiliriz:

  • vbInformation Mavi bilgi ikonu (i) ekler.
  • vbCritical Kırmızı hata ikonu (X) ekler.
  • vbQuestion Soru işareti ikonu ekler.
  • vbYesNo "Evet" ve "Hayır" butonları ekler.

Kullanıcının Cevabını Yakalamak (Kritik!)

Eğer MsgBox'a vbYesNo koyduysanız, kullanıcının hangi butona bastığını bir değişkende saklamalısınız. Kod şöyle yazılır:

Dim cevap As Integer
cevap = MsgBox("Bu veriyi silmek istediğinize emin misiniz?", vbYesNo + vbQuestion, "Onay")

If cevap = vbYes Then
    ' Evet tuşuna basıldıysa silme işlemini yap
End If

Canlı Simülatör: Onaylı Veri Silme

Aşağıdaki makro, tablodaki bir kaydı silmeden önce kullanıcıya vbYesNo ile onay sorar. Kodu Çalıştır butonuna basın ve açılan gerçekçi MsgBox penceresinde "Evet" veya "Hayır" seçerek kodun karar mekanizmasını test edin.

Visual Basic Editörü
Module1 (Code)
Sub KaydiSilOnayli()
    Dim secim As Integer

    ' Kullanıcıya soru sor ve cevabı al
    secim = MsgBox("Seçili satırı silmek istiyor musunuz?", vbYesNo + vbQuestion, "Silme Onayı")

    If secim = vbYes Then
        Range("A1").Value = "Kayıt Silindi"
    Else
        MsgBox "İşlem iptal edildi.", vbInformation
    End If
End Sub
Canlı Excel Sayfası
A1
A (Müşteri Listesi)
1
Ahmet Yılmaz (Aktif Müşteri)
2
Mehmet Demir
3
Ayşe Kaya
Silme Onayı ✕
Seçili satırı silmek istiyor musunuz?