• DİKKAT

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

Kaydet ve kapat butonları

Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Merhaba arkadaşlar, yardımlarınızla ekte gönderdiğim sayfayı oluşturdum.

vbYesNoCancel uygulamasını sayfayı kapatırken uyguladım, aynı şeyi sayfayı kaydet için de kullandım.

Kaydet, Ctrl+S veya sayfayı kapat dediğimde 2 sefer aynı mesaj geliyor ve ikinci kaydet dediğimde debug çıkıyor, modul3'te bulunan Sheets("ANA SAYFA").Range("C5:I5").Font.Color = RGB(255, 0, 0) kısmı sarıya boyuyor. Kaydet dediğimde veya kapatma yaptığım zaman tek mesaj getirebilir miyiz?

Yardım edecek herkese şimdiden teşekkür ederim.
 

Ekli dosyalar

Kapatma kodunuzda aşağı şekilde denermisiniz.
Kod:
Private Sub  xxxxx()
Application.DisplayAlerts = False
..............
Kodlarınız
..............
Application.DisplayAlerts = True
End Sub
 
Sayın Vardar Bey ilginiz için çok teşekkür ediyorum, dediğiniz gibi yaptım her hangi bir değişiklik olmadı? Sorun aynı.

Private Sub Workbook_BeforeClose(Cancel As Boolean) bu kod başlık yerine Private Sub xxxxx() bu başlığı yazıp, kaydetmek için evet dediğimde 2 sefer daha mesaj geliyor.
 
Son düzenleme:
Birisinden vbyesnocancel msgbox ı kladırın.:cool:
 
Sayın Evren Bey ilginiz için çok teşekkür ediyorum.

Aşağıdaki gibi yaptım yani soru kısmının başına ' işareti koydum, bu seferde çalışmadı.

Ayrıca 1. mesajımdaki Kaydet, Ctrl+S veya sayfayı kapat dediğimde 2 sefer aynı mesaj geliyor ve ikinci kaydet dediğimde debug çıkıyor, modul3'te bulunan Sheets("ANA SAYFA").Range("C5:I5").Font.Color = RGB(255, 0, 0) kısmı sarıya boyuyor.

Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Application.DisplayAlerts = False
    Dim s As Worksheet, soru As Integer
    [B]'soru = MsgBox("Değişiklikleri kaydetmek istiyor musunuz?", vbYesNoCancel, "A S L A N")[/B]

    If soru = vbYes Then
        For Each s In Sheets
             If s.Name <> "ANA SAYFA" Then s.Visible = xlVeryHidden
        Next s
        Save
    ElseIf soru = vbNo Then
        Saved = True
    Else
        For Each s In Sheets
            s.Visible = xlSheetVisible
        Next s
        Cancel = True
    End If

    Set s = Nothing: soru = Empty
    Application.DisplayAlerts = True
End Sub
 
Sayın Vardar Bey ilginiz için çok teşekkür ediyorum, dediğiniz gibi yaptım her hangi bir değişiklik olmadı? Sorun aynı.

Private Sub Workbook_BeforeClose(Cancel As Boolean) bu kod başlık yerine Private Sub xxxxx() bu başlığı yazıp, kaydetmek için evet dediğimde 2 sefer daha mesaj geliyor.

Kod başlığı sizdeki gibi kalacaktı. Ben örnek olarak yazmıştım.
Ayrıca Ben direk çarpıdan kapatınca sadece kaydetmek için mesaj geliyor başka mesaj çıkmıyor.
 
Dosyanız ektedir.:cool:
 

Ekli dosyalar

Sayın Vardar Bey ilginize çok teşekkür ediyorum.

Sayın Evren Bey size de çok teşekkür ediyorum, valla süper oldu, sorunu çözdünüz.

Modul3'te bulunan Sheets("ANA SAYFA").Range("C5:I5").Font.Color = RGB(255, 0, 0) bu kısmı sarıya boyuyordu, bu nasıl çözüldü anlamadım
 
Son düzenleme:
Geri
Üst