• DİKKAT

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

B1 stununa veri girdiğimde a1'e tarih

  • Konbuyu başlatan Konbuyu başlatan elice
  • Başlangıç tarihi Başlangıç tarihi
Katılım
3 Ekim 2007
Mesajlar
22
Excel Vers. ve Dili
2000 ve xp
Üstadlar merhaba;

b1 stununa kayıt girdiğimde a1' e (vba _kodla) tarih girmesini ve b stününa kayıt girmeye devam ettiğinde a2 ... a3 .. tarih girmesini otomatik hale getirmesini vba ile nasıl sağlayabiliriz ... şimdiden teşekkürler
 
Üstadlar merhaba;

b1 stununa kayıt girdiğimde a1' e (vba _kodla) tarih girmesini ve b stününa kayıt girmeye devam ettiğinde a2 ... a3 .. tarih girmesini otomatik hale getirmesini vba ile nasıl sağlayabiliriz ... şimdiden teşekkürler
MErhaba
Sayfanın Kod bölümüne,
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B1:B65536]) Is Nothing Then Cells(Target.Row, "A") = Format(Now, "dd.mm.yyyy")
End Sub
 
B sütununa yaz A sütununa Tarih yazsın

Merhaba,

Aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalayıp deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [B:B]) Is Nothing Then Exit Sub
    If Target.Value = "" Then
        Target.Offset(0, -1) = ""
    Else
        Target.Offset(0, -1) = Date
    End If
Son:
End Sub
 

Ekli dosyalar

Necdet bey, yardımınız için teşekkür ederim benim de çok işime yaradı bu kodlama. Ben ayrıca başka bir şey yapmayı denedim fakat bir türlü başaramadım. Aynı sayfada iki farklı sütun için yapmak istiyorum bu olayı mesela;
A1 hücresine yazdığımda B1 hücresine tarih C1 hücresine saat yazmasını (ki bunu yukarıdaki kodlama ile yapabiliyorum)
hem de D1 hücresine yazdığımda E1 hücresine tarih F1 hücresine saat yazmasını istiyorum, aşağıdaki kodlamayı yaptım ama olmadı yardımcı olursanız sevinirim...

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Offset(0, 1) = ""
Target.Offset(0, 2) = ""
Else
Target.Offset(0, 1) = Date
Target.Offset(0, 2) = Now
ElseIf Intersect(Target, [D:D]) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Offset(0, 1) = ""
Target.Offset(0, 1) = ""
Else
Target.Offset(0, 1) = Date
Target.Offset(0, 1) = Now
End If
End If
Son:
End Sub
 
Merhaba,

Kodları dener misiniz? Bilmeyenler için kodlar ilgili sayfanın kod bölümüne kopyalanmalı.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [B][COLOR=red][A:A, D:D][/COLOR][/B]) Is Nothing Then Exit Sub
If Target.Value = "" Then
    Target.Offset(0, 1) = ""
    Target.Offset(0, 2) = ""
Else
    Target.Offset(0, 1) = Date
    Target.Offset(0, 2) = Format(Time, "hh:mm")
End If
Son:
End Sub
 

Ekli dosyalar

Teşekkür ederim yardımınız için, hoş offset değerleri için ekstradan bi hücre eklemek zorunda kaldım isediğimi yapmak için ama yine de yaptım... farklı bi offset değeri ve iki ayrı değişken girmek için nasıl bi yol izlemem lazım yardımcı olursanız sevinirim..
 
Teşekkür ederim yardımınız için, hoş offset değerleri için ekstradan bi hücre eklemek zorunda kaldım isediğimi yapmak için ama yine de yaptım... farklı bi offset değeri ve iki ayrı değişken girmek için nasıl bi yol izlemem lazım yardımcı olursanız sevinirim..


Merhaba,

Ne demek istediğinizi hiç ama hiç anlamadım. Yukarıda verdiğim kodlar A ve D sütunu için geçerliydi, bu yeterli değil mi?
 
Bunlar yeterli oldu daha önceki mesajımda da söylediğim gibi ama yapmak istediğim şey benim çalışmamda biraz farklı hücrelerdeydi sadece örnek olması macı ile söyledim yukarıdaki sütün ve satır numaralarını...

Aslında benim çalışmamda şöyleydi;
C1 hücresine değer girdiğimde E1 ve F1 hücrelerine tarih ve saati yazıyor aynı zamanda H1 hücresine yazdığımda ise I1 ve J1 hücresine yazıyor dolayısıyla yukarıdaki kodlamaya göre J1 ve K1 hücresine yazması gerekiyor Target.Ofsett (0,1) ve Target.Ofsett (0,2) kodlamasından dolayı... ben de çözmek için araya bir sütun eklemek zorunda kaldım ve bu sütunu gizledim. Onu söyledim...Eğer yukarıdaki gibi farklı offset değerlerinde olursa nasıl çözeriz diye merak ettim sadece...
 
Farklı Offset Kullanımı

Merhaba,

Sorunuzu şimdi anladım. Değişken offsett değerleri olduğunda nasıl kontrol edeceğinizi soruyorsunuz.

Bunun için bir değişken kullanılabilir ya da kod biraz daha uzun yazılabilir.

Aşağıdaki örnekte C ve H sütunlarına değer girildiğinde işlem yapılmaktadır. Ancak C sütununa değer girildiğinde 2 hücre sağa (yani E ve F sütunlarına), fakat H sütununa değer girildiğinde ise hemen yanındaki hücrelere (yani I ve J sütunlarına) tarih ve saati atmaktadır.

Hangi hücreye değer girildiğini ise Target.Column fonksiyonu ile anlıyoruz. Target.Column Sütun sayısını verir.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
Dim Kol As Integer
If Intersect(Target, [C:C, H:H]) Is Nothing Then Exit Sub
If Target.Column = 3 Then
    Kol = 2
Else
    Kol = 1
End If
Target.Offset(0, Kol) = Date
Target.Offset(0, Kol + 1) = Format(Time, "hh:mm")
Son:
End Sub
 

Ekli dosyalar

Teşekkür ederim verdiğiniz bilgi için...Çok faydalı oldu... Bu siteye üye olmanın ne kadar faydalı olduğunu her geçen gün daha iyi anlıyorum...
 
Geri
Üst