periyodik bakım dosyası oluşturma

byhakann

Altın Üye
Katılım
4 Kasım 2023
Mesajlar
5
Excel Vers. ve Dili
2023 türkçe
Altın Üyelik Bitiş Tarihi
05-11-2024
merhaba, daha önce tarafınıza bir dosya iletmiştim bu dosyada bazı eklemeler yapmak istiyorum. aşağıda paylaştığım dosyada makinalar için bakım günlerini takip etmek üzere bir tablo oluşturdum. tabloda son değişiminde bu güne kadar geçen süreyi sürekli olarak tarih girdiğimde güncellemek istiyorum bununla ilgili bir kod yazabilir misiniz ve nasıl yapıldığını açıklayabilir misiniz.
 

Ekli dosyalar

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Merhaba,

Tablonuzdaki 30 Aralık tarihinin işlevini tam anlamadım. Bir sonraki hedef bakım tarihi olarak varsayıyorum. Formüldeki Büyük kısmı, belirlenen aralıktaki en büyük 2. tarihi alıyor. Bu da hedef tarihten bir önceki tarih olan son bakım tarihine denk geliyor. Bugün formülü de canlı olarak bugünün tarihini verir ve gün geçtikçe (Bugün 14.11.2023, yarın 15.11.2023 gibi) değişir.

E2 hücresine;

Kod:
=BUGÜN()-BÜYÜK($F2:$Q2;2)
 

byhakann

Altın Üye
Katılım
4 Kasım 2023
Mesajlar
5
Excel Vers. ve Dili
2023 türkçe
Altın Üyelik Bitiş Tarihi
05-11-2024
30 aralık tarihi kafa karıştırıcı olmuş yanlışlıkla yazılmıştır. tabloya sadece bakım yapılmış olan geçmiş tarihler yazılıyor ve soldan sağa doğru tarih girdikçe son değişim ile bugün arasındaki günün sürekli değişmesini istiyorum. yukarıda verdiğiniz formülü yazdığım zaman g2 hücresi boş iken hata veriyor. ayrıca bu tarihler arasındaki değişim sürelerinin ortalamalarını da yandaki hücreye yazdırmak istiyorum bunun için de bir formül var mıdır.
 

Ekli dosyalar

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Merhaba,

O halde E2 hücresi =BUGÜN()-MAK($F2:$Q2) olarak düzenlemeniz yeterli. Ortalama bakım günü için de ufak bir KTF hazırladım. Aşağıdaki kodu boş bir modüle ekleyin. Ardından D2 Hücresine =OrtBakim(F2:Q2) yazarak aşağıya doğru çoğaltın.

Kod:
Function OrtBakim(Tarihler As Range)
On Error GoTo son
Application.Volatile
Dim bakim As Range
Dim ort, ortgun As Integer
For Each bakim In Tarihler
If bakim <> "" And bakim > WorksheetFunction.Min(Tarihler) Then
ortgun = ortgun + (bakim - Cells(bakim.Row, bakim.Column - 1))
ort = ort + 1
End If
Next
OrtBakim = ortgun / ort
son:
End Function
 
Üst