Hücre değeri 0 dan küçük olursa hata mesajı verme.

Katılım
28 Ocak 2019
Mesajlar
29
Excel Vers. ve Dili
excel 2016. 64 bit. Türkçe dili.
Altın Üyelik Bitiş Tarihi
24-10-2023
Merhaba ben excel'de "C" sütununa manuel değer girince değer 0 dan küçük ise hata mesajını versin istiyorum.

Alttaki gibi bir kod hazırladım ama bu kod sadece c1 hücresi için bu işlemi yapıyor ama ben C sütununda ki tüm hücreyi tarasın değer "0" dan küçük ise hata mesajı versin istiyorum yardım edebilir misiniz?


Sub C_Sutunu_eksi_Değer_Olunca_Mesaj_Verme()

If Range("C1") < -0 And Not Range("C1") = "" Then
MsgBox "içerik değişti"
End If
End Sub
 
Katılım
28 Ocak 2019
Mesajlar
29
Excel Vers. ve Dili
excel 2016. 64 bit. Türkçe dili.
Altın Üyelik Bitiş Tarihi
24-10-2023
Dediğiniz doğru benim aklıma Veri Doğrulama yöntemi gelmemişti. Direk makro üzerinden gitmeyi düşünmüştüm.
Dediğinizi yaptım istediğim sonuca ulaştım teşekkür ederim :)
 
Katılım
28 Ocak 2019
Mesajlar
29
Excel Vers. ve Dili
excel 2016. 64 bit. Türkçe dili.
Altın Üyelik Bitiş Tarihi
24-10-2023
Ama veri doğrulama şöyle bir sıkıntı oluyor c hücresinde formül olunca formülde hata işlemini vermiyor
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Formül sonucu ile ilgili ileti almak için bir kod yazılırsa eğer bu kod dosyanızda herhangi bir hücrede her değişiklik(hesaplama) olduğunda çalışacaktır.
Eğer verileriniz azsa sorun olmaz ama çoksa verimsiz olur, çünkü sayfadaki herhangi bir hücre değişikliğinde çalışacaktır.
 
Katılım
28 Ocak 2019
Mesajlar
29
Excel Vers. ve Dili
excel 2016. 64 bit. Türkçe dili.
Altın Üyelik Bitiş Tarihi
24-10-2023
"C1" ile "C75" aralığında formül var benim amacım ben "A" hücresinden "B" hücresini çıkarınca "C" hücresi "0" olmalı eğer "-" olursa demek ki ben "A" ile "B" hücresine yanlış bir değer girmişim anlamına geliyor bunu da bana hata olarak göstermeli amacım bu aslında.
 
Katılım
28 Ocak 2019
Mesajlar
29
Excel Vers. ve Dili
excel 2016. 64 bit. Türkçe dili.
Altın Üyelik Bitiş Tarihi
24-10-2023
Şöyle bir kod hazırladım ama benim istediğim döngü halinde tüm hücreye uygulaması tek tek her hücre için kod yazmak istemiyorum,

Private Sub Worksheet_Change(ByVal Target As Range)

If Range("C1") < -0 And Not Range("C1") = "" Then
MsgBox "içerik değişti"
End If

If Range("C2") < -0 And Not Range("C2") = "" Then
MsgBox "içerik değişti"
End If

If Range("C3") < -0 And Not Range("C3") = "" Then
MsgBox "içerik değişti"
End If

If Range("C4") < -0 And Not Range("C4") = "" Then
MsgBox "içerik değişti"
End If

If Range("C5") < -0 And Not Range("C5") = "" Then
MsgBox "içerik değişti"
End If

End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Sayfanızın adını sağ tıklatın Kod Görüntüle seçin açılan sayfaya aşağıdaki kodları kopyalayın.

Kod:
Dim Adres As Range

Private Sub Worksheet_Change(ByVal Target As Range)
    Set Adres = Target
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.EnableEvents = False
    
    If Not Adres Is Nothing Then
        If Not Intersect(Adres, Range("A:B")) Is Nothing Then
            If Cells(Adres.Row, "C") < 0 Then
                MsgBox "İşlemde hata var. Lütfen kontrol ediniz.", vbCritical
                Adres.Select
                Application.EnableEvents = True
                Exit Sub
            End If
        End If
    End If
    Application.EnableEvents = True
End Sub
 
Katılım
28 Ocak 2019
Mesajlar
29
Excel Vers. ve Dili
excel 2016. 64 bit. Türkçe dili.
Altın Üyelik Bitiş Tarihi
24-10-2023
Teşekkür ederim istediğim kod buydu sağ olun
 
Üst