• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

vbyesnocancel

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,452
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Arkadaşlar, sayın hocalarım, iptal dediğim zaman neden iptal olmuyor da excel'in kaydet kaydetme bölümü çıkıyor.
Yardımcı olabilir misiniz? Neresini yanlış yazdım acaba?

Kod:
Sub Auto_Close()
Application.DisplayAlerts = False
soru = MsgBox("Yaptığınız Değişiklikler Kaydedilsin mi?", vbYesNoCancel, "muratgunay48")
If soru = vbCancel Then
    Exit Sub
ElseIf soru = vbNo Then
    MsgBox "Yaptığınız değişiklikler kaydedilmeyecek...!", vbCritical, "muratgunay48"
    ActiveWorkbook.Close False
Else
MsgBox "Yaptığınız değişiklikler kaydedilecek...!", vbInformation, "muratgunay48"
    ActiveWorkbook.Close True
End If
Application.DisplayAlerts = True
End Sub

Teşekkür ederim. Saygılarımla.
 
Sub Auto_Close()
' Uyarıları kapat
Application.DisplayAlerts = False

' Kullanıcıya mesaj kutusu göster
soru = MsgBox("Yaptığınız Değişiklikler Kaydedilsin mi?", vbYesNoCancel, "muratgunay48")

If soru = vbCancel Then
' Eğer iptal seçilmişse çık
Exit Sub
ElseIf soru = vbNo Then
' Eğer hayır seçilmişse kaydetmeden kapan
MsgBox "Yaptığınız değişiklikler kaydedilmeyecek...!", vbCritical, "muratgunay48"
ActiveWorkbook.Close False
Else
' Eğer evet seçilmişse kaydedip kapan
MsgBox "Yaptığınız değişiklikler kaydedilecek...!", vbInformation, "muratgunay48"
ActiveWorkbook.Close True
End If

' Uyarıları tekrar aç
Application.DisplayAlerts = True
End Sub
 
Sub Auto_Close()
' Uyarıları kapat
Application.DisplayAlerts = False

' Kullanıcıya mesaj kutusu göster
soru = MsgBox("Yaptığınız Değişiklikler Kaydedilsin mi?", vbYesNoCancel, "muratgunay48")

If soru = vbCancel Then
' Eğer iptal seçilmişse çık
Exit Sub
ElseIf soru = vbNo Then
' Eğer hayır seçilmişse kaydetmeden kapan
MsgBox "Yaptığınız değişiklikler kaydedilmeyecek...!", vbCritical, "muratgunay48"
ActiveWorkbook.Close False
Else
' Eğer evet seçilmişse kaydedip kapan
MsgBox "Yaptığınız değişiklikler kaydedilecek...!", vbInformation, "muratgunay48"
ActiveWorkbook.Close True
End If

' Uyarıları tekrar aç
Application.DisplayAlerts = True
End Sub
Çok teşekkür ederim hocam. Emeğinize sağlık.
 
Sub Auto_Close()
' Uyarıları kapat
Application.DisplayAlerts = False

' Kullanıcıya mesaj kutusu göster
soru = MsgBox("Yaptığınız Değişiklikler Kaydedilsin mi?", vbYesNoCancel, "muratgunay48")

If soru = vbCancel Then
' Eğer iptal seçilmişse çık
Exit Sub
ElseIf soru = vbNo Then
' Eğer hayır seçilmişse kaydetmeden kapan
MsgBox "Yaptığınız değişiklikler kaydedilmeyecek...!", vbCritical, "muratgunay48"
ActiveWorkbook.Close False
Else
' Eğer evet seçilmişse kaydedip kapan
MsgBox "Yaptığınız değişiklikler kaydedilecek...!", vbInformation, "muratgunay48"
ActiveWorkbook.Close True
End If

' Uyarıları tekrar aç
Application.DisplayAlerts = True
End Sub
Hocam iptal deyince dosya kapanıyor. Sadece kutunun kaybolmasını nasıl sağlarız acaba?
 
Sub Auto_Close()
' Uyarıları kapat
Application.DisplayAlerts = False

' Kullanıcıya mesaj kutusu göster
soru = MsgBox("Yaptığınız Değişiklikler Kaydedilsin mi?", vbYesNoCancel, "muratgunay48")

If soru = vbCancel Then
' Eğer iptal seçilmişse sadece kutuyu kapat, Excel açık kalsın
Application.DisplayAlerts = True
Exit Sub
ElseIf soru = vbNo Then
' Eğer hayır seçilmişse kaydetmeden kapan
MsgBox "Yaptığınız değişiklikler kaydedilmeyecek...!", vbCritical, "muratgunay48"
ActiveWorkbook.Close False
Else
' Eğer evet seçilmişse kaydedip kapan
MsgBox "Yaptığınız değişiklikler kaydedilecek...!", vbInformation, "muratgunay48"
ActiveWorkbook.Close True
End If

' Uyarıları tekrar aç
Application.DisplayAlerts = True
End Sub
 
Sub Auto_Close()
' Uyarıları kapat
Application.DisplayAlerts = False

' Kullanıcıya mesaj kutusu göster
soru = MsgBox("Yaptığınız Değişiklikler Kaydedilsin mi?", vbYesNoCancel, "muratgunay48")

If soru = vbCancel Then
' Eğer iptal seçilmişse sadece kutuyu kapat, Excel açık kalsın
Application.DisplayAlerts = True
Exit Sub
ElseIf soru = vbNo Then
' Eğer hayır seçilmişse kaydetmeden kapan
MsgBox "Yaptığınız değişiklikler kaydedilmeyecek...!", vbCritical, "muratgunay48"
ActiveWorkbook.Close False
Else
' Eğer evet seçilmişse kaydedip kapan
MsgBox "Yaptığınız değişiklikler kaydedilecek...!", vbInformation, "muratgunay48"
ActiveWorkbook.Close True
End If

' Uyarıları tekrar aç
Application.DisplayAlerts = True
End Sub

Hocam ben mi yanlış yapıyorum acaba?
 

Ekli dosyalar

C#:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim soru As VbMsgBoxResult

    Application.DisplayAlerts = False

    soru = MsgBox("Yaptığınız Değişiklikler Kaydedilsin mi?", vbYesNoCancel, "muratgunay48")
   
    Select Case soru
        Case VbMsgBoxResult.vbYes
            ThisWorkbook.Close True
        Case VbMsgBoxResult.vbNo
            ThisWorkbook.Close False
        Case Else 'Cancel
            Cancel = True
    End Select
End Sub

.
 
C#:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim soru As VbMsgBoxResult

    Application.DisplayAlerts = False

    soru = MsgBox("Yaptığınız Değişiklikler Kaydedilsin mi?", vbYesNoCancel, "muratgunay48")
  
    Select Case soru
        Case VbMsgBoxResult.vbYes
            ThisWorkbook.Close True
        Case VbMsgBoxResult.vbNo
            ThisWorkbook.Close False
        Case Else 'Cancel
            Cancel = True
    End Select
End Sub

.
Hocam öncelikle teşekkür ederim.
Hocam, İPTAL deyince sorun yok. Tam istediğim gibi.
Ancak EVET desem de HAYIR desem de ikinci kere soruyor ve tekrar tıklayınca şöyle bir kalıntı dosya bırakıyor. (Kaydet deyiysem, kaydediyor, sıkıntı yok)

Ekran görüntüsü 2025-01-06 224354.png
 
Bu konular faydalı olabilir..

Arama Sonuçları
Hocam teşekkür ederim. Sizin yazdığınız kodu revize ederek kullandım.
 
Geri
Üst