• DİKKAT

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

YAŞ BULMA MAKROSU VE YILLIK İZİN İLE İLGİLİ

Katılım
31 Mart 2005
Mesajlar
128
Excel Vers. ve Dili
Office XP - Türkçe
YAÞ BULMA MAKROSU VE YILLIK ÝZÝN ÝLE ÝLGÝLÝ

Değerli arkadaşlar excel de bir tablo düzenlemek istiyorum. Daha önce buna benzen bir yıllık izin bul diye makroyu değerli arkadaşlar yazdı ve burada yayınladılar işimi fazlasıyla gördü bir farklı makra çalışma isteğim şöyle Yıllık izin hesaplaması yaparken 18 yaş altı ve 50 yaş üstündeki çalışmışlığı 5 yıl dahil ve daha az olanlara otomatikmen izin gününün 20 olarak hesaplanması gerekiyor fakat aşağıdaki makroda yaş sınırı dikkate alınmadığından daha önceki tablom bana yararamış oluyor. Sizden isteğim işçinin izini hakettiği tarihteki yaşını ve işe giriş tarihini gözönüne alarak bize hakettiği izinleri verebilsin ayrıca ekte bir örnek excel dosyası var bununla ilgili iki ayrı sayfada veriler bulunmakta. İzin Dökümleri sayfasına kişi bilgilerini arabul komutu ile getirmekteyim. Burada İzin İcmal sayfasına yeni bir kişi eklediğimde İzin Dökümleri sayfamdaki kodlar yanlış kişileri göstermektedir. Bununla ilgili isteğimİzin icmal sayfasından ara formülü ile getirdiğim Kişi isimlerini (İzin İcmal sayfası D sütunundaki ) kilitleyebilirmiyim mesala kişinin izin icmal sayfasındaki kodu değişşe dahi İzin dökümleri sayfasındaki ismi değişmesin. İzin icmal sayfasındaki kullanılan izini gösteren L sütunu yanlış bilgi vermemiş olur. Burayada ara formulü ile izin dökümleri sayfasından bilgi gelmektedir.
Saygı ve selamlarla.....................
 
Arkadaşlar İzin İcmal sayfasındaki bugün sutünunu dikkate almayın yaş hesaplamasınıda doğum tarihi ile izine hakediş tarihlerini baz alırsanız sevinirim. Teşekkürler
 
Sayın fasuga asık surat ifadesi yapmışsın ama gerek moderatörler ve gerekse diğer üye arkadaşlar probleminle mutlaka ilgileniyorlardır.Birazcık sabret.
 
Dosyanızdaki fonksiyonu aşağıdaki ile değiştirerek deneyin. Yalnız fonksiyona yaşın olduğu hücreyide girmeniz gerekiyor. Ã?rneğin; I4 hücresindeki formül =izinbul(H4;G4;D4) şeklinde olmalıdır.

[vb:1:3c4862b2f1]Function izinbul(sontar, bastar, yastar As Date) As Integer
yas = (CLng(Date) - CLng(yastar)) / 365

basyil = Year(bastar)
basay = Month(bastar)
basgun = Day(bastar)

sonyil = Year(sontar)
sonay = Month(sontar)
songun = Day(sontar)

If basgun > songun Then sonay = sonay - 1
If basay > sonay Then sonyil = sonyil - 1

farkyil = sonyil - basyil

izinbul = 0

If farkyil >= 1 Then izinbul = 14
If farkyil >= 6 Then izinbul = 20
If farkyil >= 15 Then izinbul = 26
If farkyil >= 1 And yas < 18 Or yas > 50 Then izinbul = 20


End Function[/vb:1:3c4862b2f1]
 
Sayın leventm teşekkürler gerçekten çok işime yarayacak işlemlerin seri hale getirilmesi açısından çalışmalarınızda başarılar... :icelim:
 
Demek Sayın fasuga, nın şirketinde çalışsaydım, 3 yıl sonra ağzımla kuş tutsaydım 20 günden fazla izin alamayacaktım. :D
 
Sayın Yesertener,

Sanırım yaşınız 47 anladığım kadarıyla burada 50 yaş üstü herkes 20 gün izin haketmiyor. Ã?nemli olan nokta 5 yıldan az çalışıpta yaşı 50 geçen kişiler 14 yerine 20 gün izin hakediyor. Oysa yaşınız 50 fakat 16 yıldır çalışıyorsanız 26 gün izin hakedeceksiniz. 4857 sayılı iş kanunu derki 0-5 yıl arası çalışanlar 14 gün, 6-14 yıl arası çalışanlar 20 gün, 15 ve daha fazla çalışanlar 26 iş günü izin hakederler. Fakat yaşı 18 ve altı ile 50 ile üzeri olanları yıllık izin süreleri her halikarde 20 nin altında olamaz. Hazırladığım izin tablosu bu bilgiler ışığındadır. Yardımcı olan tüm forumdaşlara son olarak son makro çalışmasını gönderen sayın leventm 'e çok teşekkürler herkese saygı ve selamlar..........
 
Sayın leventm,
Yukarıdaki makroya ileve birşeyler yapabililirmisiniz. Ã?rneğin işçi 50 yaşını aşmıştır fakat çalışması 15 yıl ve daha fazladır burada işçi 20 değilde 26 gün izin haketmesi gerekiyor.
Ã?rneğin formülün benim dilimle yazılımı şöyle olmalı;
Kişi 5 yıldan az çalışmış yaşı 50 ve üzerinde ise 20
kişi 6-14 yıl arasında çalışmış yaşı 50 ve üzerinde ise 20
kişi 15 ve yıl ve daha fazla çalışmış yaşı 50 ve üzeri ise 26 gün

Aynı şekilde bu işlem 18 yaş altındakiler içinde geçerli olacaktır
Kişi 5 yıldan az çalışmış yaşı 18 ve altında ise 20
kişi 6-14 yıl arasında çalışmış yaşı 18 ve altında ise 20
kişi 15 ve yıl ve daha fazla çalışmış yaşı 18 ve altında ise 26 gün (mümkün olmasada formül gereği)

izin hakedecektir. Yukarıdaki istekleri makroya yerleştirebilirmisiniz.
:dua2:
 
Fonksiyonu aşağıdaki gibi deneyin.

[vb:1:4e30fb229f]Function izinbul(sontar, bastar, yastar As Date) As Integer
yas = (CLng(Date) - CLng(yastar)) / 365

basyil = Year(bastar)
basay = Month(bastar)
basgun = Day(bastar)

sonyil = Year(sontar)
sonay = Month(sontar)
songun = Day(sontar)

If basgun > songun Then sonay = sonay - 1
If basay > sonay Then sonyil = sonyil - 1

farkyil = sonyil - basyil

izinbul = 0
If farkyil >= 1 Then izinbul = 14
If farkyil < 5 And yas < 18 Or yas > 50 Then izinbul = 20
If farkyil >= 6 Then izinbul = 20
If farkyil >= 15 Then izinbul = 26
End Function
[/vb:1:4e30fb229f]
 
Sayın leventm,

teşekkürler gerçekten güzel oldu. :mutlu: :mutlu: :mutlu: :mutlu: :mutlu:
 
Sayın leventm,

Sizden birkaç ricam daha var yıllık izin tablosunun şekillenmesi açısından,
Ã?rneğin veri olmayan satıra =izinbul(a1;a2;a3) formülü uygulandığında formülün bulunduğu satır 0 göstersin.

Diğer konu ise parçaal fonsiyonunda tarihleri sayısal değerleri ile almaktadır. Bunun çözümü olarak ben tarihi şu şekilde yazmak zorunda kalıyorum '29.08.2005
bu şekilde yazmadan nasıl tarihi parçaal formülü ile alabilirm.

Saygılar...........
 
Ã?rneğin veri olmayan satıra =izinbul(a1;a2;a3) formülü uygulandığında formülün bulunduğu satır 0 göstersin.
Bunun için formülünüzü aşağıdaki gibi düzenleyin. (I4 hücresi için)

=EÐER(G4<>0;izinbul(H4;G4;D4);0)

Diğer konu ise parçaal fonsiyonunda tarihleri sayısal değerleri ile almaktadır. Bunun çözümü olarak ben tarihi şu şekilde yazmak zorunda kalıyorum '29.08.2005
bu şekilde yazmadan nasıl tarihi parçaal formülü ile alabilirm.
G sütununa tarihleri normal şekilde yazın. H sütununada aşağıdaki formülü yazın. (H4 hücresi için)

=TARİH(YIL(ÞİMDİ());AY(G4);GÜN(G4))


Not:imza bölümüne lütfen Excelinizin versiyonunu belirtin.
 
Sayın levent,

=TARİH(YIL(ÞİMDİ());AY(G4);GÜN(G4)) bu formülünun sadece yıl kısmını (2005) şimdi ile değilde benim tabloda L2 hücresine yazdığım yılı alması mümkünmü formülünüz şu an için işime yarıyor. Fakat yukarıdaki istediğim gibi yapabilirsem biraz daha esnek bir hal almış olacak.
Saygılar ............
 
Aşağıdaki gibi deneyin.

=TARİH(M2;AY(G4);GÜN(G4))
 
Teşekkürler sayın leventm tamamıyle sizin yardımlarınızla hazırlamış olduğum yıllık izin tablosu artık son şeklini aldı yeni versiyonunu ilgili forum altında yayınlıyor ve minnettar duygularımı belirtmek istiyorum. :mutlu: :mutlu:
 
Sayın : fasuga dosyanızı eklemeniz mümkün olursa eğer

Teşekkürler sayın leventm tamamıyle sizin yardımlarınızla hazırlamış olduğum yıllık izin tablosu artık son şeklini aldı yeni versiyonunu ilgili forum altında yayınlıyor ve minnettar duygularımı belirtmek istiyorum. :mutlu: :mutlu:

Sayın : fasuga dosyanızı eklemeniz mümkün olursa eğer;Bizde benzer problemler karşısında bir kaynağa kavuşmuş oluruz. sakıncası yoksa tabi.Teşekküler......
 
Geri
Üst