• DİKKAT

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

b sutuna giriş varsa L tarih yazsın, boşsa silinsin..!

Katılım
10 Ekim 2010
Mesajlar
1,469
Excel Vers. ve Dili
2010 Türkçe
merhabalar,
arkadaşlar b sutuna her ne girilirse girilsin, L sutunda da o giriş yapılan tarihi görmek istıyorum.
b sutuna tek seferde 1 den fazla giriş yapılacaktır. aşağıdaki kod tek tek girişlerde tam istediğim gibi çalışmaktadır.
ben b sutuna kopyala yapıştır yaptığımdan bu işlemi yapmamaktadır.
b sutundan boş ise tarihte silinsin.

ilgilenen tüm arkadaşlarıma gönülden tşk ederım.
iyi çalışmalar dilerim.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B:B]) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Offset(0, 10) = ""
Else
If Target.Offset(0, 10) = "" Then Target.Offset(0, 10) = Date
End If
son:

End Sub
 
Merhaba,

Aşağıdaki kodları dener misiniz? Bir kaç deneme yaptım başarılı oldum ama yinede bir deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Intersect(Target, [B:B]) Is Nothing Then Exit Sub
    Dim Hücre As Range
    If Selection.Count > 1 Then
        For Each Hücre In Selection
            If Hücre = "" Then
                Hücre.Offset(0, 10) = ""
            Else
                Hücre.Offset(0, 10) = Date
            End If
        Next Hücre
        Exit Sub
    End If
    If Target.Value = "" Then
        Target.Offset(0, 10) = ""
    Else
        If Target.Offset(0, 10) = "" Then Target.Offset(0, 10) = Date
    End If
son:
    
End Sub
 
evet hocam istediğim buydu denedim düzenlı şekılde çalışıyor. umarım sıkıntı olmaz. olurrsaada yazarım. elinize sağlık gönülden tşklerimi saygılarımı sunarım.
iyi çalışmalar dilerim
 
İyi çalışmalar, güle güle kullanınız.
 
Merhaba,
Necdet beyin yaptığı son çalışmaya istaneden herhangi bi sorun söz konusu değil, benim için bi sıkıntı yok şu an için. siz hangi çalışma alanında kullanıorsunuz bilmiyorum. ama eğer oyle birşey varsa da benim işime daha çok gelecektir.


tşkler iyi akşamlar
 
Son düzenleme:
merhaba
sayın mavi674
evet güzel olurdu ama çalışma alanlarımız farklı.
ben bunu, silmek amaçlı değil kaydetmek için kullanıyorum.
zaten yeterince veri girişi yapıyorum L sutuna kadar bide bu tarıh olayları ıle zaman harcamamk için bunu seçtım. sizin dediğiniz güzel birşey. ama dediğim gibi ben sureklı kayıt yapacağım.

konuda eksıklığı aydınlattığınız için tşk ederım. şayet sorun yaşarsam necdet beyden ilgilenmesini rica ederiz, emınımkı bızı kırmayacaktır.

herkese tşk ederım hayırlı akşamlar diliyorum.
 
Belirlenen aralıkta değişiklik olduğunda tarih güncellenir.

Neden öyle bir kanıya vardınız ki?

Pardon pardon, yukarıda verdiğim kodlar daha önceki konudan alınan kodlar. Orada eğer tarih yazıldıysa tekrar yazmasındı.

bunu istemezseniz kodları aşağıdaki şekilde kullanınız.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, [B:B]) Is Nothing Then Exit Sub
    Dim Hücre As Range
    If Selection.Count > 1 Then
        For Each Hücre In Selection
            If Hücre = "" Then
                Hücre.Offset(0, 10) = ""
            Else
                Hücre.Offset(0, 10) = Date
            End If
        Next Hücre
        Exit Sub
    End If
    If Target.Value = "" Then
        Target.Offset(0, 10) = ""
    Else
        Target.Offset(0, 10) = Date
    End If
son:
 
End Sub
 
L sütununa elden tarih girdim (eski tarih)
ve b sütununa da giriş yaptım tarih bugünün tarihi olmadı yani değişmedi
benim yanlış yaptığım bir şey mi var anlamadım
teşekkürler...

10 nolu mesajı düzenledim, açıklama yaptım. Tekrar inceleyiniz.
 
gunaydın,,
necdet hocam son güncellemenizdeki kodlarda veri girişi olan bi satırı sildiğimizde 1004 kodlu hata vermektedir.

çok rica ediyorum ilgilenebilirmısınız..


iyi çalışamalar dilerim


saygıyla
 
Son düzenleme:
Merhaba,

Bir takım kontroller koydum, deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    [B]On Error GoTo Son
[/B]    If Intersect(Target, [B:B]) Is Nothing Then Exit Sub
    Dim Hücre As Range
    [B]If Selection.Columns.Count > 1 Then Exit Sub
[/B]    If Selection.Count > 1 Then
        For Each Hücre In Selection
            If Hücre = "" Then
                Hücre.Offset(0, 10) = ""
            Else
                Hücre.Offset(0, 10) = Date
            End If
        Next Hücre
        Exit Sub
    End If
    If Target.Value = "" Then
        Target.Offset(0, 10) = ""
    Else
        Target.Offset(0, 10) = Date
    End If
Son:
 
End Sub
 
hocam tşk ederım bu konuda sizi çok yordum. elınıze sağlık hakkınızı helal edin.

iyi çalışmalar dilerim.
 
Geri
Üst