Hücredeki Sayının Eksi Değerinin Girilmesini önleme

Katılım
20 Haziran 2008
Mesajlar
44
Excel Vers. ve Dili
Excel 2003-türkçe
Arkadaşlar konu başlığı başlığında biraz anlam bozukluğu oldu herhalde şöle bir sorunla karşılaştım ve çözemedim yardımcı olurmusunuz.Yapmak istediğim şu :

a b c d hücrelerinde veriler var ve e-f hücrelerine sayı olarak veri girişi yapılan bir excel çalışma sayfası e ve f hücrelerine sayı değerleri girerken hücredeki sayının aşağı değerini girmesini engelleyen bir kod varmıdır.
örnek :a1 b1 c1 d1 veriler var e1 deki sayı değeri 10 f1 deki 123 ben e1 ve f1 hücrelerine sayı değeri girdiğimde 10 ve 123 üstü değer girmek istiyorum 10 ve 123 aşağısında değer girdiğimde hücrenin içindeki sayı degerini korumasını istiyorum. Bu sayılar sabit değil 0 1 ................. sonsuz şekilde değişebilir. yani hücredeki sayının eksik değerlerini girmemek.İnşallah anlatabilmişimdir. Birörnek daha yazayım örnek :
e ve f hücrelerinde çeşitli sayılar var ben e3 deki 17 sayının üzerine 13 ekleyecem ekleme işlemini formülsüz yapıp 17 değerinin üzerine ekleyip 30 yazacam olurda 13 ü 17 ile toplamayı unuttum direk 13 yazdım işte hücredeki 17 sayısından küçük oldugu için küçük bir uyarı msj verip hücre içindeki 17 sayısını koruyacak bu hücrelerdeki sayılar sabit değil 0 1 ............ diye değişebilir.Yardımlarınız için çok tşk ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,580
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ekteki örnek dosyayı incelermisiniz.
 
Katılım
20 Haziran 2008
Mesajlar
44
Excel Vers. ve Dili
Excel 2003-türkçe
Çok güzel

Korhan bey gerçekten çok mükemmel bir çalışma inanılmaz bir çalışma olmuş. ellerinize saglık çok tşk ederim. Bir ufak sorum daha olacak burda hücrenin değerindeki sayının aşağı bir değer yazamıyoruz istediğimde buydu baska bir çalışma sayfasına bunu kaldırıp sadece hücrenin içindeki değere yeni yazdığımız değeri toplattırmayı nasıl yapabilirim. Örnek a1 hücresinde 150 var ben a1 hücresine 291 daha ekleyecem sonuç 441 olacak bunu nasıl yapabilirim. yardımcı olurmusunuz. Tekrar tekrar çok tşk ederim mükemmel bir çalışma olmuş.Korhan bey birde aklıma geldi örnek dosyayı inceledim a1 hücresinde 100 var oldugunu sayalım 100 e ancak 100 ve üzeri ekleyebliriz ama bir ürün geldiğini farz edelim gelen üründe 50 adet gelsin 100 ün aşağı değerini giremeyizki bunu nasıl çözebiliriz.
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,580
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Örnek dosyadaki kırmızı renkli satırları silip deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target = "" Then Exit Sub
    Application.EnableEvents = False
[COLOR=red]    If Target < EskiDe&#287;er Then
    MsgBox "&#214;nceki de&#287;erden k&#252;&#231;&#252;k de&#287;er girilemez !", vbCritical, "D&#304;KKAT !"
    Target = EskiDe&#287;er
    Else
[/COLOR]    Target = Target + EskiDe&#287;er
[COLOR=red]    End If[/COLOR]
    Application.EnableEvents = True
End Sub
 
Katılım
20 Haziran 2008
Mesajlar
44
Excel Vers. ve Dili
Excel 2003-türkçe
Olmadı

Denedim olmadı kırmızı yazılı olan yerleri sildim ama toplama yapmadı.
 
Katılım
20 Haziran 2008
Mesajlar
44
Excel Vers. ve Dili
Excel 2003-türkçe
Çok Özür Dilerim.

Kodları eksik kopyaladığımdan dolayı hesaplama yapmadı şimdi yapıyor çok özür dilerim ellerinize saglık gerçekten mükemmel fevkalade bir çalışma işte bu usta diye buna söylenir.Tekrar tşk ler.
 
Katılım
20 Haziran 2008
Mesajlar
44
Excel Vers. ve Dili
Excel 2003-türkçe
Bu kodlar birbirine girdi

Koray bey sayfada kod var bu kodlar&#305; da ekleyince kar&#305;st&#305; hata veriyor kodlar a&#351;a&#287;&#305;da

Private Sub Worksheet_Activate()
Range("IV65536").Select
If InputBox("BU SAYFANIN KULLANIM HAKKI KISITLANMI&#350;TIR", "&#350;&#304;FRE G&#304;R&#304;N&#304;Z") = "93219321" Then
Range("A1").Select
Else
MsgBox ("&#350;&#304;FRE YANLI&#350;")
MsgBox ("BU SAYFAYI KULLANIM YETK&#304;N&#304;Z YOKTUR")
MsgBox ("SORU ve &#304;STEKLER&#304;N&#304;Z &#304;&#199;&#304;N ANA SAYFADAK&#304; MA&#304;L ADRES&#304; &#304;LE &#304;LET&#304;&#350;&#304;M KURAB&#304;L&#304;RS&#304;N&#304;Z")
Sheets("Sayfa1").Select

sizin kodlarla sayfadi kodlar&#305; yaz&#305;nca hata veriyor a&#351;a&#287;&#305;daki gibi yazd&#305;m

Private Sub Worksheet_Activate()
Range("IV65536").Select
If InputBox("BU SAYFANIN KULLANIM HAKKI KISITLANMI&#350;TIR", "&#350;&#304;FRE G&#304;R&#304;N&#304;Z") = "93219321" Then
Range("A1").Select
Else
MsgBox ("&#350;&#304;FRE YANLI&#350;")
MsgBox ("BU SAYFAYI KULLANIM YETK&#304;N&#304;Z YOKTUR")
MsgBox ("SORU ve &#304;STEKLER&#304;N&#304;Z &#304;&#199;&#304;N ANA SAYFADAK&#304; MA&#304;L ADRES&#304; &#304;LE &#304;LET&#304;&#350;&#304;M KURAB&#304;L&#304;RS&#304;N&#304;Z")
Sheets("Sayfa1").Select
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target = "" Then Exit Sub
Application.EnableEvents = False
Target = Target + EskiDe&#287;er
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.ScreenUpdating = True
End Sub



End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.ScreenUpdating = True
End Sub

k&#305;rm&#305;z&#305; yaz&#305;l&#305; olan yerde hata veriyor.
 
Katılım
20 Haziran 2008
Mesajlar
44
Excel Vers. ve Dili
Excel 2003-türkçe
Kodlar karıştı

Korhan bey benim sayfamda aşağıdaki kodlar var formüllü koşullu biçimlendirmede var seçilen hücre yeşil oluyor. Yalnız sizin kodlarıda sayfaya yazdıgımda işlem yapmıyor düzenlemey çalıştım olmadı. Benim çalışma sayfamdaki kodları aşağıya yazıyorum. Sizin yukarda kırmızı yazılı olanları sildikten sonra geriye kalanları benim kodlarla nasıl bir sayfada toplayıp düzenli çalışmasını saglayabilirim. Benim çalışma sayfasındaki kodlar :

Private Sub Worksheet_Activate()
Range("IV65536").Select
If InputBox("BU SAYFANIN KULLANIM HAKKI KISITLANMIŞTIR", "ŞİFRE GİRİNİZ") = "93219321" Then
Range("A1").Select
Else
MsgBox ("ŞİFRE YANLIŞ")
MsgBox ("BU SAYFAYI KULLANIM YETKİNİZ YOKTUR")
MsgBox ("SORU ve İSTEKLERİNİZ İÇİN ANA SAYFADAKİ MAİL ADRESİ İLE İLETİŞİM KURABİLİRSİNİZ")
Sheets("Sayfa1").Select
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.ScreenUpdating = True
End Sub


Bunlar benim sayfadakiler buna ek olarak sizin yukardaki yazdıgınızı nasıl ekleyebilirim.Sizin kodlarınızda aşağıya yazdım.Sizin verdiğiniz kodlar :

Dim EskiDeğer As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target = "" Then Exit Sub
Application.EnableEvents = False
Target = Target + EskiDeğer
Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
EskiDeğer = Target
End Sub
 
Katılım
20 Haziran 2008
Mesajlar
44
Excel Vers. ve Dili
Excel 2003-türkçe
Kodların Sıralanması

Dim EskiDeğer As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target = "" Then Exit Sub
Application.EnableEvents = False
Target = Target + EskiDeğer
Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
EskiDeğer = Target
Application.ScreenUpdating = True
End Sub

Private Sub Worksheet_Activate()
Range("IV65536").Select
If InputBox("BU SAYFANIN KULLANIM HAKKI KISITLANMIŞTIR", "ŞİFRE GİRİNİZ") = "1" Then
Range("A1").Select
Else
MsgBox ("ŞİFRE YANLIŞ")
MsgBox ("BU SAYFAYI KULLANIM YETKİNİZ YOKTUR")
MsgBox ("SORU ve İSTEKLERİNİZ İÇİN ANA SAYFADAKİ MAİL ADRESİ İLE İLETİŞİM KURABİLİRSİNİZ")
Sheets("Sayfa2").Select
End If
End Sub

yukarıdaki gibi yazıldıgında işlem tamam oluyor. Çok tşk ederim ellerinize sağlık gerçeketen fevkalade bir çalışma oldu.
 
Üst