• DİKKAT

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

MsgBox uyarı gelmiyor?

Katılım
31 Ağustos 2010
Mesajlar
387
Excel Vers. ve Dili
Excel 2007-2010 Eng
Open Office Trk
Selamlar. Şöyle bir surum olacak. Excel içerisinde "A1:D1" arası hücrelerde 1'den büyük bir değer gelirse (msgbox) ile uyarı mesajı çıkmasını nasıl sağlayabiliriz. Buton kontrolü ile yapabildim ama otomatik gelmesini sağlayamadım. Yardımlarınızı bekliyorum.
 
Selamlar. Şöyle bir surum olacak. Excel içerisinde "A1:D1" arası hücrelerde 1'den büyük bir değer gelirse (msgbox) ile uyarı mesajı çıkmasını nasıl sağlayabiliriz. Buton kontrolü ile yapabildim ama otomatik gelmesini sağlayamadım. Yardımlarınızı bekliyorum.
Bunun için vba 'ya gerek yok.
Veri doğrulama ile yapabilirsiniz.:cool:
 
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If [A1] > 1 Or [B1] > 1 Or [C1] > 1 Or [D1] > 1 Then
MsgBox "Aranan Alanda 1'den Büyük Değer Var!"
End If
End Sub
 
İlla VBA ile isterseniz aşağıdaki kodu kullanmalısınız.:cool:
Kod çalışma sayfasının modülüne yazılmıştır.:cool:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:D1]) Is Nothing Then Exit Sub
On Error Resume Next
If Target.Value > 1 Then MsgBox "!'den Büyük değer giremezsiniz!!", vbCritical, "UYARI"
End Sub
 
Çok teşekkür ederim. Ama bir sorun farkettim. Evren bey yazdığınız kod çok güzel çalışıyor ama belirlenmiş olan alan içerisinde 1 den büyük değeri direkt yazmıyorum "Egersay" fonksiyonu ile kendiliğinden değer alıyor o yüzden kod çalışmayabiliyor. excel03 'ün verdiği kod çalışıyor ancak aralık girme açısından sizin ki gibi esnek değil. (excel03 bey sizede teşekkür ederim ama aralık girme açısından Evren beyin kodu gibi modifiye edemedim malesef, o konuda sizinde yardımınız olursa sevinirim ) Örnek dosyada ekledim şimdi tekrar bakarsanız çok sevinirim.[/COLOR]
 

Ekli dosyalar

Son düzenleme:
Selamlar,

Sayfa1 'in kod bölümüne aşağıdaki kodu uygulayıp denermisiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [G1:H4]) Is Nothing Then Exit Sub
    If WorksheetFunction.CountIf(Range("A1:D1"), ">1") > 0 Then
        MsgBox "Mükerrer veri girdiniz !" & Chr(10) & "Lütfen kontrol ediniz !", vbCritical
        Target.ClearContents
        Target.Activate
        Exit Sub
    End If
End Sub
 
Korhan bey çok teşekkür ederim. İstediğimdende güzel oldu. "hatalı giriş sonrası uyarıp geri alması çok süper." Ayrıca yardımcı olan herkese tekrar teşekkür ediyorum. Saygılar selamlar...
 
Geri
Üst