Hücre İlerleme Yüzdesine Göre Tarih Ekleme

Katılım
8 Mart 2013
Mesajlar
14
Excel Vers. ve Dili
Microsoft Excel 2007 - İngilizce
Altın Üyelik Bitiş Tarihi
15/03/2023
Ekteki tabloda B sütunundaki işin ilerleme yüzdesi 100% olarak yazıldığı günün tarihini D sütununda yazdırmak istiyorum.

229684
 
Katılım
8 Mart 2013
Mesajlar
14
Excel Vers. ve Dili
Microsoft Excel 2007 - İngilizce
Altın Üyelik Bitiş Tarihi
15/03/2023
Ek dosya aşağıdadır
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki kodu sayfanın kod bölümüne (sayfa adına sağ tıklayıp kod görüntüle deyince açılan sayfaya) yapıştırıp deneyiniz. B2:B100 aralığında değişiklik yaptığınızda kodlar çalışır:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B2:B100]) Is Nothing Then Exit Sub
If Target = 1 Then
    Target.Offset(0, 2) = Date
Else
    Target.Offset(0, 2).ClearContents
End If
End Sub
 
Katılım
8 Mart 2013
Mesajlar
14
Excel Vers. ve Dili
Microsoft Excel 2007 - İngilizce
Altın Üyelik Bitiş Tarihi
15/03/2023
Yusuf Bey geri dönüşünüz için teşekkürler. Paylaştığınız kod bire bir veri girişlerinde işe yarıyor. Ancak ben konuyu eksik aktardım diye düşünüyorum benim 12.000 - 15.000 arası işlem adımım olacak ve ben bu ilerleme yüzdelerini başka bir programdan toplu olarak (günlük 1.500 adet gibi) çalışma dosyamda yeni bir sayfaya kopyalayacağım ve buradan düşey ara ile ana sayfama ekleyeceğim. Bu durumu denediğimde paylaştığınız kodu kullanamıyorum.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki makroyu çalıştırdığınızda Sayfa1'in B sütunu kontrol edilir ve %100 olan satırlarda D sütununa tarih atar, %100 olmayan satırlarda D sütununu boşaltır:

PHP:
Sub kontrol()
Set s1 = Sheets("Sayfa1")
son = s1.Cells(Rows.Count, "B").End(3).Row
Application.ScreenUpdating = False
    For i = 2 To son
        If s1.Cells(i, "B") = 1 Then
            s1.Cells(i, "D") = Date
        Else
            s1.Cells(i, "D").ClearContents
        End If
    Next
Application.ScreenUpdating = True
End Sub
Verilerinizin çokluğuna göre işlem uzun sürebilir. Asıl dosya yapınıza göre belki daha etkili çözümler bulunabilir. Eldeki verilerle ancak bu kadar yapabiliyorum.
 
Üst