• DİKKAT

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

veri girişinin olduğu satırdaki tarih, bugünden küçükse hata mesajı

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,677
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Herkese hayırlı sabahlar

veri girişinin olduğu satırdaki tarih, bugünden küçükse hata mesajı vermesini istiyorum ve işlem yaptırmasın

aşağıdaki gibi birşeyler yapmayı denedim ama başaramadım

yardımcı olan herkeze şimdiden teşekkür ederim


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = ActiveCell.End(xlToLeft).Value <> Date Then
MsgBox "işlem yapamazsınız"
End If
End Sub
 
Merhaba,

Örneği inceleyiniz. Sütunları kendinize göre ayarlayınız. Örnek A sütunu için geçerlidir.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
If Target < Date Then Target.Offset(0, 0).Select
Son:
End Sub
 
Necdet Bey vermiş olduğunuz kodu girdim

A sütununa bugünden büyük tarih girdiğim, enter tuşu alta iniyor

küçük girersem ise olduğu yerde duruyor ama veri girişinede izin veriyor

ben istediğimi tam olarak anlatamadım biraz daha açayım

a sütünundaki tarih bugünden küçükse , o satırdaki hiçbirşey değiştirilmesin

bunun nedenide kasada geriye dönük işlem yapılmasını istemiyorum

Merhaba,

Örneği inceleyiniz. Sütunları kendinize göre ayarlayınız. Örnek A sütunu için geçerlidir.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
If Target < Date Then Target.Offset(0, 0).Select
Son:
End Sub
 
Merhaba,

Evet yanlış anlamışım. Veri Doğrulama ile çözüm işinize yararsa dosyayı inceleyiniz.
 

Ekli dosyalar

Tekrar merhaba,

Makrolu çözümü de inceleyiniz. Kodlar ilgili sayfanın kod bölümünde olmalı.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [B:G]) Is Nothing Then Exit Sub
If Cells(Target.Row, "A") < Date Then Cells(Target.Row, "A").Select
Son:
End Sub
 

Ekli dosyalar

Merhaba,

Evet yanlış anlamışım. Veri Doğrulama ile çözüm işinize yararsa dosyayı inceleyiniz.

Necdet Bey emeğiniz için çok teşekkür ederim

Aslında makro ile nasıl olur, onuda çok merak ediyorum

ilerde bir takım eklerde yapacağım için benim için gerekli

mesala geriye dönük işlem yapılması gerektiği zaman, yönetici girişi diye bir tuş buton eklemeyi düşünüyordum, outbox kutusu açılacak ve daha önceden belirlediğim şifre girilmeden sayfada değişiklik yapma aktif olmayacak( o işi döngülerle halledebildim)

ordada şöyle bir sorun var, outbox'a girilen karakterleri "*" şeklinde gösteremiyorum

umarım sizi yormuyorumdur
 
Tekrar merhaba,

Makrolu çözümü de inceleyiniz. Kodlar ilgili sayfanın kod bölümünde olmalı.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [B:G]) Is Nothing Then Exit Sub
If Cells(Target.Row, "A") < Date Then Cells(Target.Row, "A").Select
Son:
End Sub

makrolu cevabınızı yeni gördüm

ilgilendiğiniz için çok teşekkür ederim

şöyle bir sorun var, eski tarihi değiştirmeme izin veriyor
 
Merhaba,

Evet tarihi yani A sütununda değişiklik yapmasına sesimi çıkartmadım. Nedeni de yanlış tarih yazılırsa düzeltme olanağının olması içindi.
 
Merhaba,

Evet tarihi yani A sütununda değişiklik yapmasına sesimi çıkartmadım. Nedeni de yanlış tarih yazılırsa düzeltme olanağının olması içindi.

düzeltme imkanını yöneticiye vericem sadece

kodu nasıl düzeltmem gerekir

a sütünundaki tarihte değiştirilemesin
 
Merhaba,

Veri giriş alanının A:G arasında ve 1. satırın da başlık satırı olduğunu varsayarak, aşağıdaki kodları deneyiniz.

Geçersiz işlemde Cursor I sütununa gidecektir.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A:G]) Is Nothing Then Exit Sub
If Target.Row = 1 Then Exit Sub
If Target.Column = 1 And Target = "" Then Exit Sub
If Cells(Target.Row, "A") < Date Then Cells(Target.Row, "I").Select
Son:
End Sub
 

Ekli dosyalar

Merhaba,

Veri giriş alanının A:G arasında ve 1. satırın da başlık satırı olduğunu varsayarak, aşağıdaki kodları deneyiniz.

Geçersiz işlemde Cursor I sütununa gidecektir.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A:G]) Is Nothing Then Exit Sub
If Target.Row = 1 Then Exit Sub
If Target.Column = 1 And Target = "" Then Exit Sub
If Cells(Target.Row, "A") < Date Then Cells(Target.Row, "I").Select
Son:
End Sub

elinize sağlık

istediğim gibi oldu, teşekkür ederim
 
Güle güle kullanınız.
 
Geri
Üst