• DİKKAT

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

VbYesNoCancel Hakkında

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
520
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Arkdaşlar Merhaba;

Excel dosyamı sağ üst köşeden kapatırken bu makro devreye girerek yedek atıyor. Kodlarımda herhangi bir sıkıntı yok.Aşağıdaki Kodlarda VBYES sorunsuz çalışıyor, VBNO sorunsuz çalışıyor
Ancak VBCANCEL yaptığımda hiçbirşey olmadan dosyama geri dönmem gerekirken kaydetmeden kapatıyor. Sorunu anlayamıyorum

Kod:
Sub Auto_Close()

msg = MsgBox("Dosya Kaydedilecek. Onaylıyor musunuz?", vbYesNoCancel + vbInformation, " !!! D İ K K A T !!!")

If msg = vbYes Then
ActiveWorkbook.Save
Dosya_Adı = ThisWorkbook.Name & " " & Format(Now(), "dd.mm.yyyy - hh.mm") & ".xlsm"
ActiveWorkbook.SaveAs Filename:="\\Server\Yedekler\" & Application.PathSeparator & Dosya_Adı
Application.Quit
End If

If msg = vbNo Then
Application.Quit
End If


If msg = vbCancel Then
MsgBox "İptal Edildi"
Exit Sub
End If

End Sub
 
Merhaba.
Auto_Close kodlarının tamamını silin aşağıdaki kodlar "BuÇalışmaKitabı(ThisWorkbook)" adlı kod sayfasına yapıştırın.

Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim msg As VbMsgBoxResult
    Dim Dosya_Adı As String
    msg = MsgBox("Dosya Kaydedilecek. Onaylıyor musunuz?", vbYesNoCancel + vbInformation, " !!! D İ K K A T !!!")
    If msg = vbYes Then
        ActiveWorkbook.Save
        Dosya_Adı = ThisWorkbook.Name & " " & Format(Now(), "dd.mm.yyyy - hh.mm") & ".xlsm"
        ActiveWorkbook.SaveAs Filename:="\\Server\Yedekler\" & Application.PathSeparator & Dosya_Adı
        Application.Quit
    End If
    If msg = vbNo Then
        Application.Quit
    End If
    If msg = vbCancel Then
        MsgBox "İptal Edildi"
        Cancel = True
    End If
End Sub
 
Rica Ederim. İyi çalışmalar. :)
 
Geri
Üst