Çalışmayı kaydetmeden önce zorunlu alan uyarısı

Katılım
4 Mart 2014
Mesajlar
3
Excel Vers. ve Dili
2010-TÜRKÇE
Arkadaşlar kolay gelsin. Forumdaki örnekleri incelememe rağmen benim talebimi karşılayan bir kod bulamadım. Ekli dosyada görüleceği üzere;
D2:D10 aralığındaki hangi hücre 0'dan büyükse e2:10 aralığında koşullu biçimlendirme ile griye boyanıyor ve oradan kullanıcının listeden duruma uygun seçimi yapması isteniyor. Kullanıcı "e2:e10" aralığında biçimlendirilmiş hücrelerden bir seçim yapmazsa ve şarta bağlı olmaksızın "A13" boş geçerse çalışmayı kaydedemesin istiyorum...(Bu arada bu sayfa benim çalışma kitabımın 6. sayfası )
Ancak; ekteki gibi, e2:e10 aralığında örneğin 6 hücre boşsa MsgBox ardışık olarak arka arkaya gelmemeli. E2 boş geçilmişse önce "e2 boş geçilemez" diye uyarı versin ve kullanıcının e2 hücresini doldurmasına izin versin. Sonra, e3 boş geçilmişse "e3 boş geçilemez" uyarısı versin ve kullanıcının e3'ü doldurmasına izin versin... sonuçta tüm hücreler ayrı ayrı denetlensin. Bu kodun ekteki "kaydet butonu" na yazılmasını istiyorum. "e2:e10" ilgili hücreleri ve a13 doldurulmuşsa çalışmayı kaydedip kapatsın.
İyi anlatmış olmayı dileyerek yardımlarınız için şimdiden teşekkürlerimi sunarım
 

Ekli dosyalar

Katılım
31 Mart 2009
Mesajlar
227
Excel Vers. ve Dili
2010 türkçe
Merhaba.
Ben dosyanızı açamadım ama sanırım aşağıdaki kod işinizi görür.
Kod:
Const mayrange As String = "A13"
Const Sayfa As String = "Sayfa1"
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim sahife As Worksheet, Mesaj As String, parcala() As String
    Dim Hücre As Range, i%, a%
    Set sahife = Sheets(Sayfa)
    parcala = Split(mayrange, ",")
    For i = LBound(parcala) To UBound(parcala)
        Set Hücre = sahife.Range(parcala(i))
        With Hücre
            For a = 1 To .Cells.Count
                If Len(Trim(.Cells(a).Value)) = 0 Then
                    Mesaj = .Cells(a).Address(0, 0) & _
                          " hücresi boş bırakıldı." & vbCr & _
                          "Yinede kaydetmek istiyor musunuz? " _
                          & vbCr & vbCr & ""
                    Cancel = Not MsgBox(Mesaj, vbQuestion + vbYesNo + vbDefaultButton2, _
                             "Eksik veri.") = vbYes
                    .Cells(a).Select
                    Exit Sub
                End If
            Next a
        End With
    Next i
    i = Empty: a = Empty: Set Hücre = Nothing: Erase parcala: Mesaj = "": Set sahife = Nothing
End Sub
Kolay gelsin.
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Örnek dosyası da benden olsun.
 

Ekli dosyalar

Katılım
4 Mart 2014
Mesajlar
3
Excel Vers. ve Dili
2010-TÜRKÇE
Sayın Lider22 hocam; emeğinize sağlık, teşekkür ediyorum. Kodu ilgili sayfanın geliştirici sekmesindeki kod sayfasına yapıştırdım, herhangi bir kayıt engeli vermedi. Üstadım bu kod işine pek aşina değilim zaten sizinki daha karışık geldi, ben ilgili hücreleri bile yerine koyamadım sanırım. Ben dosyayı ekleyeceğim tekrar. Ancak belirttiğim gibi bu makroyu ekteki gibi bir kaydet butonuna atasak, kullanıcı tüm işlemleri bitirip kaydedip kapatmak için bu tuşa bastığında ekrana gelse uyarılar, çok güzel olur... (Bu butonu 1.sayfadaki veri giriş ortamında son kısma yerleştireceğim, çünkü tüm veriler buradaki seçimlere bağlı olarak sayfalara dağılıyor, bu yüzden kullanıcı çalışmayı kaydedip kapatabilir. 6.sayfada atlanması muhtemel yerler var. 6.sayfadaki d28>0 ise e28 boş geçilemez, listeden seçiniz, d29>0 ise e29 boş geçilemez, listeden seçiniz...d36>0 ise e36 boş geçilemez son olarak a39="" ise "a39 boş geçilemez, açıklama giriniz" uyarısını versin istiyorum, Tüm bu şartlar sağlanırsa kaydet butonuna bastığımda çalışmayı kaydedip kapatsın)
Olursa çok güzel olur, teşekkürler
 

Ekli dosyalar

ZorBey_

Destek Ekibi
Destek Ekibi
Katılım
14 Mayıs 2011
Mesajlar
2,185
Excel Vers. ve Dili
Excel 2003 Türkçe
Merhaba Sayın METINY iyi çalışmalar.
Ekli dosyayı incelermisiniz.
 

Ekli dosyalar

Katılım
4 Mart 2014
Mesajlar
3
Excel Vers. ve Dili
2010-TÜRKÇE
Teşekkürler...

Sn.Murat OSMA, Sn.Lider22 ve Sn.ZorBey ilgi, emek ve zamanınızı ayırdığınız için çoook teşekkür ediyorum. Zorbey hocam çalışmanız isteğime uygun, müteşekkirim, ellerinize sağlık
 
Üst