Seçilen hücrenin sağ hücresine otomatik tarih eklemek

Katılım
25 Aralık 2017
Mesajlar
31
Excel Vers. ve Dili
Visual Basic


C Süstunun seçilen hücreye teslim edildi butonuna bastığım zaman otomatik olarak sağ hücresine tarih atılmasını istiyorum. tek hücre için yapabildim ama diğer hücrelerde çalıştıramadım. Yardımcı olursanız sevinirim.

Private Sub CommandButton4_Click()
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Interior
ActiveCell.FormulaR1C1 = "TESLİM EDİLDİ"
Range("D4").Select
ActiveCell.FormulaR1C1 = "=TODAY()"

End With

End Sub
 
Katılım
25 Aralık 2017
Mesajlar
31
Excel Vers. ve Dili
Visual Basic
şöyle bir şey yapılabilir mi?
=EĞER(C4="TESLİM EDİLDİ";"=BUGÜN()")
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,104
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
Formülle yapacağınız işlem tüm "TESLİM EDİLDİ" ler için güncel tarihi yazar.
Aşağıdaki makroyu kendinize uyarlayın.
Makro A2 hücresinden itibaren işlem varsa ve A sütun verisi TESLİM EDİLDİ ise ve B sütunu boş ise güncel tarihi B sütununa yazar.

Sayfanın kod bölümüne;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
sat = Target.Row
süt = Target.Column
If sat >= 2 And süt = 1 Then
If Cells(sat, 1) = "TESLİM EDİLDİ" And Cells(sat, 2) = "" Then
Cells(sat, 2) = Date
End If
End If
End Sub

Ekleyerek deneyin.
İyi çalışmalar.
 
Katılım
25 Aralık 2017
Mesajlar
31
Excel Vers. ve Dili
Visual Basic
Şu kodla işimi gördüm D sütununa yazıyorum. Makro kullanmadım artık.

=EĞER(C6=0;"";EĞER(C6="TESLİM EDİLDİ";BUGÜN();))
 
Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Formülle yaptığınızda sayfada yaptığınız her işlemde tarihler günün tarihine güncellenir.:giggle:
 
Son düzenleme:
Katılım
25 Aralık 2017
Mesajlar
31
Excel Vers. ve Dili
Visual Basic
Merhaba;
Formülle yapacağınız işlem tüm "TESLİM EDİLDİ" ler için güncel tarihi yazar.
Aşağıdaki makroyu kendinize uyarlayın.
Makro A2 hücresinden itibaren işlem varsa ve A sütun verisi TESLİM EDİLDİ ise ve B sütunu boş ise güncel tarihi B sütununa yazar.

Sayfanın kod bölümüne;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
sat = Target.Row
süt = Target.Column
If sat >= 2 And süt = 1 Then
If Cells(sat, 1) = "TESLİM EDİLDİ" And Cells(sat, 2) = "" Then
Cells(sat, 2) = Date
End If
End If
End Sub

Ekleyerek deneyin.
İyi çalışmalar.
muygun hocam kodunuzu şimdi çalıştırabildim. teşekkür ederim. fakat sağ hücreye tarih atabilmesi için mouse ile TESLİM EDİLDİ hücresini tıklamam gerekiyor. sanırım makro ile bir problem yaşıyorum. bu problemi nasıl aşabilirim?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Alternatif kod
Sayfanın kod bölümüne ekleyin
sonra sayfada herhangibir hücreye mause ile sol tarafı hızlı bir şekilde çift tıklayınız.

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

If ActiveCell.Row < Rows.Count Then
If ActiveCell.Column < Columns.Count Then
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
End With
sat = ActiveCell.Row
sut = ActiveCell.Column
With Selection.Interior
ActiveCell.FormulaR1C1 = "TESLİM EDİLDİ"
Cells(sat, sut + 1).FormulaR1C1 = "=TODAY()"
End With
End If
End If
Cancel = True
End Sub
 
Katılım
25 Aralık 2017
Mesajlar
31
Excel Vers. ve Dili
Visual Basic
Alternatif kod
Sayfanın kod bölümüne ekleyin
sonra sayfada herhangibir hücreye mause ile sol tarafı hızlı bir şekilde çift tıklayınız.

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

If ActiveCell.Row < Rows.Count Then
If ActiveCell.Column < Columns.Count Then
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
End With
sat = ActiveCell.Row
sut = ActiveCell.Column
With Selection.Interior
ActiveCell.FormulaR1C1 = "TESLİM EDİLDİ"
Cells(sat, sut + 1).FormulaR1C1 = "=TODAY()"
End With
End If
End If
Cancel = True
End Sub
=TODAY komutu her gün güncellendiği için yanlış olduğuna kanaat getirdik.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
bu bölümü
Cells(sat, sut + 1).FormulaR1C1 = "=TODAY()"

bununla değiştir

Cells(sat, sut + 1).Value = Date
 
Katılım
25 Aralık 2017
Mesajlar
31
Excel Vers. ve Dili
Visual Basic
bu bölümü
Cells(sat, sut + 1).FormulaR1C1 = "=TODAY()"

bununla değiştir

Cells(sat, sut + 1).Value = Date
halit3 bey teşekkür ederim alternatif kodunuz çalışıyor fakat ben bu işlemi doubleclick değilde commandbutton4 e tıkladığı zaman yapmaya çalışıyorum. eğer bu kodu çalıştırabilirsem ilerisi için başka butonlarada farklı özellikler ekleyip geliştirebilirim..
 
Katılım
25 Aralık 2017
Mesajlar
31
Excel Vers. ve Dili
Visual Basic
galiba yaptım arkadaşlar :) iki farklı kodu harmanladım istediğime ulaştım.. emeği geçen herkese sonsuz teşekkürler ;)

Private Sub CommandButton4_Click()
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
ActiveCell.FormulaR1C1 = "TESLİM EDİLDİ"
sat = Selection.Row
sut = Selection.Column
Cells(sat, sut + 1).Value = Date
End With

End Sub
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Böyle dene

Kod:
Private Sub CommandButton4_Click()
If ActiveCell.Row < Rows.Count Then
If ActiveCell.Column < Columns.Count Then
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
End With
sat = ActiveCell.Row
sut = ActiveCell.Column
With Selection.Interior
Cells(sat, sut).Value = "TESLİM EDİLDİ"
Cells(sat, sut + 1).Value = Date
End With
End If
End If
Cancel = True
End Sub
 
Katılım
25 Aralık 2017
Mesajlar
31
Excel Vers. ve Dili
Visual Basic
peki arkadaşlar bu illa ki TESLİM EDİLDİ yazılması şart mı? misal *** herhangi birşey yazılsa yine de yanına tarih attıramaz mıyız?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Kırmızı yere sitediğini yaz

Rich (BB code):
Private Sub CommandButton4_Click()
If ActiveCell.Row < Rows.Count Then
If ActiveCell.Column < Columns.Count Then
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
End With
sat = ActiveCell.Row
sut = ActiveCell.Column
With Selection.Interior
Cells(sat, sut).Value = "TESLİM EDİLDİ"
Cells(sat, sut + 1).Value = Date
End With
End If
End If
Cancel = True
End Sub
 
Katılım
25 Aralık 2017
Mesajlar
31
Excel Vers. ve Dili
Visual Basic
demek istediğim ad soyad olur. değişken bir veri olur. mahalle ismi olur. yani ali, veli, ahmet, hüseyin vs.. demek istediğim aktif hücrenin birşekilde dolu olması.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
16 nolu mesajdaki kodun burasını sil

Cells(sat, sut).Value = "TESLİM EDİLDİ"
 
Üst