şartı sağlamıyorsa kaydet uyarısı çıkmadan uyarı

Katılım
25 Ocak 2006
Mesajlar
764
Excel Vers. ve Dili
2019 tr
sayfayı kapattığımda koddaki şartı sağlamıyorsa evet hayırlı msgbox ile uyarı vermesi, evete basılması durumunda kaydet kaydetme uyarısını çıkmadan excele dönmesi, hayıra basılması durumunda ise normal kaydet kaydetme uyarısının gelmesi için yardım gerekiyor.
Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim Komut As Integer
    Dim Mesaj As String
    Dim Baslik As String
If Application.Sum(Range("c23:t23")) > 0 And Range("b23") = "" Or Application.Sum(Range("c24:t24")) > 0 And Range("b24") = "" Then

Mesaj = "Proje Kapsamı kısmında, ilini yazmamış gibisin... düzeltmek ister misin?"
Baslik = "FIRAT UYARIYOR!"
Komut = MsgBox(Mesaj, vbYesNoCancel + vbQuestion, Baslik)
If Komut = 6 Then
  ActiveWorkbook.Close False
    Range("b23").Select
Exit Sub
Else
End If
End If
End Sub
yapmaya çalıştığım bu şekilde ama olmadı.
 
Katılım
25 Ocak 2006
Mesajlar
764
Excel Vers. ve Dili
2019 tr
cevap gelmediğine göre anlaşılmadı. biraz da revize ederek istediğimi anlatayım.

1. isteğim. c23:t23 hücrelerinin toplamı sıfırdan büyükse ve b23 boşsa veya c24:t24 hücrelerinin toplamı sıfırdan büyükse ve b24 boşsa uyarı verecek. evet - hayır - iptal seçenekli olacak ve seçeneklerden evet i seçmem durumunda kaydet kaydetme seçeneği çıkmadan direk b23 hücresini seçecek. yani excelde çalışmam devam edebilecek. hayır ve iptal seçilirse kaydet kaydetme penceresi çıkacak.

2. isteğim ise aynı koda devam ediyoruz.
c36:c68, c74:c100, c106:c144 arası dolu fakat karşılığında h36:h68, h74:h100, h106:h144 arası boşsa uyarı verecek. evet - hayır - iptal seçenekli olacak ve seçeneklerden evet i seçmem durumunda kaydet kaydetme seçeneği çıkmadan direk c36 hücresini seçecek. yani excelde çalışmam devam edebilecek. hayır ve iptal seçilirse kaydet kaydetme penceresi çıkacak.

eğer zaten hata yoksa mesaj çıkmayacak ve normal kaydet kaydetme seçenekleri olacak.
 
Üst