• DİKKAT

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

Dolu hücreye çift tıklayınca içeriği sil bugunun tarihini yaz

  • Konbuyu başlatan Konbuyu başlatan muyat
  • Başlangıç tarihi Başlangıç tarihi
Katılım
27 Ekim 2017
Mesajlar
97
Excel Vers. ve Dili
2016 TÜRKÇE
Aşagıdaki kod e sütunundaki boş e hücresine çift tıkladıgımda otomatik olarak bugunün tarihini yazıyor...
Benim istedigim hücrenin içeriği dolu oldugu zamanda da hücreye çift tıklayınca önce içeriğini silip sonra da tarihi atıcak..
Bunu nasıl yapabilirim.
ClearContents komutu ekledim ama olmadı



Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, [E:E]) Is Nothing Then Exit Sub
On Error Resume Next

If Target = "" Then
Target = Date
Target.Offset(0, 1).Select
End If
End Sub
 
Aşağıdaki gibi deneyin.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, [E:E]) Is Nothing Then Exit Sub
On Error Resume Next
Target = Date
Target.Offset(0, 1).Select
End Sub

Not: Sayın @dalgalikur 'un da dediği gibi her durumda çift tıklama ile "GününTarihini" yazar
 
Son düzenleme:
Merhaba.

Sayın trust un yazdığı kodlar eğer hücre doluysa tarih yazar.

Aşağıdaki kodlar dolu yada boş olduğuna bakmadan tarih yazar.
Sizin istediğiniz bu olmalı.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, [E:E]) Is Nothing Then Exit Sub
    On Error Resume Next
    Target = Date
    Target.Offset(0, 1).Select
End Sub
 
Merhaba;
Alternatif:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("E:E")) Is Nothing Then
If Target.Offset(0, 0) <> "" Then Target = Date
If Target.Offset(0, 0) = "" Then Target = Date
End If
End Sub

Hücre Boş ise yada dolu ise hangi şartta istiyorsanız 3. yada 4. satırdaki kodları kullanın.

İyi çalışmalar.
 
Merhaba.

Sayın trust un yazdığı kodlar eğer hücre doluysa tarih yazar.

Aşağıdaki kodlar dolu yada boş olduğuna bakmadan tarih yazar.
Sizin istediğiniz bu olmalı.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, [E:E]) Is Nothing Then Exit Sub
    On Error Resume Next
    Target = Date
    Target.Offset(0, 1).Select
End Sub
Sayın @dalgalikur , uyarınızla gerekli düzeltmeyi ben de yaptım. Teşekkür ederim.
 
Merhaba,

Anladığım kadarıyla sorun çözülmüş, aşağıdaki kodlar bir seçenek olsun.

1. satırın başlık olduğu, son satırdan baya uzak bir hücreye de tarih yazmasın diye düşünülerek seçenek oluşturmak istedim.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    If Intersect(Target, [E:E]) Is Nothing Or Target.Row < 2 Or Target.Row > Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1 Then Exit Sub
    Target.Value = Date

End Sub
 
Hocalarım aşagıdaki gibi yaptım...Daha kısa oldu.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, [E:E]) Is Nothing Then Exit Sub
On Error Resume Next
Selection.ClearContents
If Target = "" Then
Target = Date
Target.Offset(0, 1).Select
End If
End Sub

Selection.ClearContents giriyoruz araya:)
 
Yaptığın şeyi anlatayım sana.

Selection.ClearContents 'Hücreyi içeriğini sil
If Target = "" Then ' Hücre içeriği boşsa aşağıdaki kodları çalıştır.

Sence bu iki satıra gerek var mı?

Kullanabileceğin en kısa kod şu:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, [E:E]) Is Nothing Then Exit Sub
Target = Date
Target.Offset(0, 1).Select
End Sub
 
Hocalarım aşagıdaki gibi yaptım...Daha kısa oldu.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, [E:E]) Is Nothing Then Exit Sub
On Error Resume Next
Selection.ClearContents
If Target = "" Then
Target = Date
Target.Offset(0, 1).Select
End If
End Sub

Selection.ClearContents giriyoruz araya:)
e sütunundaki boş e hücresine çift tıkladıgımda otomatik olarak bugunün tarihini yazıyor...
Benim istedigim hücrenin içeriği dolu oldugu zamanda da hücreye çift tıklayınca önce içeriğini silip sonra da tarihi atıcak..

Son belirttiğiniz kodda hücre boşsa tarih atıyor. Ama ilk sorunuzda dolu boş farketmez hepsine atsın demiştiniz :)

Ayrıca bir hücreye bir atama yapıyorsanız o hücreyi ayrıca silmeniz gerekmez, atama yaptığınız için son değeri alır zaten.
 
Geri
Üst