Günün tarihini otomatik atmak

Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
Eğer A1 hücresi dolu ise B1'e günün tarihi otomatik atılsın,tabiki atılan bu tarih sonraki günlerde o güne bağlı olarak değişmesin ve kalıcı olsun
 

Korhan Ayhan

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

Bu işlemi sadece A1 hücresi içinmi istiyorsunuz peki ?
 

Korhan Ayhan

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

Eğer öyle ise aşağıdaki kodu sayfanın kod bölümüne uygulayınız.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1").Value = "" Then Range("B1").Value = ""
If Range("A1").Value <> "" Then Range("B1").Value = Date
End Sub
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
8,000
Excel Vers. ve Dili
Office 365 Türkçe
Sn COST_CONTROL'un yazdığına, ek olarak A sütununa yazılanların B sütununa yazılmasını isterseniz

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Bakılan As Range, Yazılacak As Range

Set Bakılan = Range("A1:A65536")

Application.EnableEvents = False
For Each Yazılacak In Range(Target.Address)
If Not Intersect(Yazılacak, Bakılan) Is Nothing Then Yazılacak.Offset(0, 1) = Date
Next Yazılacak

Application.EnableEvents = True
Set Bakılan = Nothing
End Sub
 
Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
İşlemin A sütunu için geçerli olmasını istiyorum.
 
Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
Sn.fructose'nin kodları boş excel sayfasında çalışıyor,fakat kullandığım bir proğramın içinde bulunan tabloya uyguladığımda;
Compile error:
Ambiguous name detected:Worksheet_Change diye hata veriyon
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
8,000
Excel Vers. ve Dili
Office 365 Türkçe
otufan03' Alıntı:
Sn.fructose'nin kodları boş excel sayfasında çalışıyor,fakat kullandığım bir proğramın içinde bulunan tabloya uyguladığımda;
Compile error:
Ambiguous name detected:Worksheet_Change diye hata veriyon

Tek bir Worksheet_Change olayı içine kodları yazın

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Sizin kodlar

Verdiğim kodlar
End Sub
 
Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
Aynı sayfanın kod bölümünde
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
İle başlayan başka amaçlı bir kod daha var ondan kaynaklanabilirmi mi?
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
8,000
Excel Vers. ve Dili
Office 365 Türkçe
Evet Sn.otufan03 ,
Dediğim gibi sizin kodlarınız bittiği yerden
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Sizin kodlarınız
.
.
.

Dim Bakılan As Range, Yazılacak As Range

Set Bakılan = Range("A1:A65536")
.
.
.
.
Application.EnableEvents = True
Set Bakılan = Nothing

End Sub
olan kısımları birleştirin
 
Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then Target.Offset(0, 2).Select
If Target.Column = 3 Then Target.Offset(0, 1).Select
If Target.Column = 4 Then Target.Offset(0, 1).Select
If Target.Column = 5 Then Target.Offset(0, 2).Select
If Target.Column = 7 Then Target.Offset(1, -6).Select
End Sub
Sn.fructose söz konusu sayfanın kod bölümünde yukardaki kodlar mevcut siz,A sütununa veri girildikçe B sütununa ( karşısına) tarih atacak kodlarla yukardaki kodları birleştirebilirmisiniz.
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
8,000
Excel Vers. ve Dili
Office 365 Türkçe
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then Target.Offset(0, 2).Select
If Target.Column = 3 Then Target.Offset(0, 1).Select
If Target.Column = 4 Then Target.Offset(0, 1).Select
If Target.Column = 5 Then Target.Offset(0, 2).Select
If Target.Column = 7 Then Target.Offset(1, -6).Select
Dim Bakılan As Range, Yazılacak As Range
Set Bakılan = Range("A1:A65536")
Application.EnableEvents = False
For Each Yazılacak In Range(Target.Address)
If Not Intersect(Yazılacak, Bakılan) Is Nothing Then Yazılacak.Offset(0, 1) = Date
Next Yazılacak
Application.EnableEvents = True
Set Bakılan = Nothing
End Sub
 
Üst