• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Memur Personelin Yıllık İzin Hakkı Hesaplaması

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

merttr07

Yeni Üye
Katılım
25 Ara 2021
Mesajlar
199
Çözümler
2
Aldığı beğeni
16
Excel V
Office 2013 TR
Konu Sahibi
İlk öncelik ile memur personel olan bir kişinin izin hakkı 60'a sabittir yani 60 aştığında en eski tarihten kalan izinler silinir.
Bu yıllık değil iki yılda birdir. Personelin işe girdiği tarihten itibaren bakılarak hesaplanır.

Ben programda bunu denedim ama başaramadım yani memur personelin yıllık izin hakkını iki yıla da bir kontrol edip 60>61,62 gibi yükseldiği an en eski tarihten itibaren izinleri silmesi gerek yıllık izinleri.
60 sabitlemesi gerek tabi bunu yaparken yeni girenle eski giren memur personelin yıllık izinleri farklı. 5 yıllık memur farklı yeni giren memurun yıllık izni farklı.
Aşağıda belirtilen kodlamada yazdığı gibi bir ile onuncu yıllar arasında 20 gün yıllık izin hakkı bulunmakta
10 yıl ve üstü olanlar ise 30 gün yıllık izin hakkı bulunmakta.
Bu kodlama içerisine memur kısmına iki yılda biriken izini 60 güne sabitlemesini istiyorum. Sınır 60 gün bunu geçtiğinde silecek.

If Sheets("Personel_Bilgileri").Cells(i, 5) = "Memur" Then
If yil < 10 Then Sheets("Personel_Bilgileri").Cells(i, 27) = 20
If yil >= 10 Then Sheets("Personel_Bilgileri").Cells(i, 27) = 30
MODÜL İÇERİSİNDE KODLAR VAR
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Yukarıda yazılı olan kodlamalar modül 3 yer almaktadır.

Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.

Kullanıcı =1
Şifre = 1

Gelen ana ekran sayfasında sağ altta excel aktif et butonu bulunmakta bastığınızda aktif olacaktır.
 
Konu Sahibi
If Sheets("Personel_Bilgileri").Cells(i, 5) = "Memur" Then
If yil < 10 Then Sheets("Personel_Bilgileri").Cells(i, 27) = 20
If yil >= 10 Then Sheets("Personel_Bilgileri").Cells(i, 27) = 30

1 ile 10 yıl arasında olan memur personeller iki yılda toplam bir 40 günlük izin hakları oluyor ve 40 üstüne izinleri çıkamıyor. Eğer çıkarsa en eski tarihten kalan kaç gün kaldıysa izni siliniyor.
If yil < 10 Then Sheets("Personel_Bilgileri").Cells(i, 27) = 20
10 yılından fazla olan memur personel ise iki yılda toplam 60 günlük izin hakkı oluyor 60 üstüne çıkamıyor. Eğer çıkarsa en eski tarihten kalan kaç gün kaldıysa izni siliniyor.
If yil >= 10 Then Sheets("Personel_Bilgileri").Cells(i, 27) = 30
 
Bildiğim kadarıyla devlet memurları;
0-9 yıl hizmet süresi olanlar yıllık 20 gün,
10 yıl ve üzeri olanlar yıllık 30 gün izin hakkına sahiptir.
Ayrıca yıllık izinleri bir yıl devredebilir.
Yani;
0 yıl hizmet süresi olanlar yıllık 20+0=20 gün,
1-9 yıl hizmet süresi olanlar yıllık 20+20=40 gün,
10 yıl hizmet süresi olanlar yıllık 30+20=50 gün,
11 yıl ve daha fazla hizmet süresi olanlar yıllık 30+30=60 gün izin en fazla izin kullanma hakkına sahip olabilirler.
Buradaki sorun ise;
izin hakkı hesaplanırken
bu yıl + geçen yıl izni şeklinde değil,
bu yıl + geçen yıldan devreden izni şeklinde olmalıdır.
Yani sizin geçen yıldan kalan izinlerin tutulduğu bir tablonuz bulunmalıdır.
 
Konu Sahibi
Bildiğim kadarıyla devlet memurları;
0-9 yıl hizmet süresi olanlar yıllık 20 gün,
10 yıl ve üzeri olanlar yıllık 30 gün izin hakkına sahiptir.
Ayrıca yıllık izinleri bir yıl devredebilir.
Yani;
0 yıl hizmet süresi olanlar yıllık 20+0=20 gün,
1-9 yıl hizmet süresi olanlar yıllık 20+20=40 gün,
10 yıl hizmet süresi olanlar yıllık 30+20=50 gün,
11 yıl ve daha fazla hizmet süresi olanlar yıllık 30+30=60 gün izin en fazla izin kullanma hakkına sahip olabilirler.
Buradaki sorun ise;
izin hakkı hesaplanırken
bu yıl + geçen yıl izni şeklinde değil,
bu yıl + geçen yıldan devreden izni şeklinde olmalıdır.
Yani sizin geçen yıldan kalan izinlerin tutulduğu bir tablonuz bulunmalıdır.
1-9 yıl hizmet süresi olanlar yıllık 20 gün
1-9 yıl hizmet süresi olanlar yıllık 20+20=40 gün sınır olması gerekmektedir. En son tarihten kalan izini silmesi gerekmektedir.
11 yıl ve daha fazla hizmet süresi olanlar yıllık 30+30=60 gün sınır olması gerekmektedir. En son tarihten kalan izini silmesi gerekmektedir.
Yukarıda belirmiş olduğunuz konularda haklısınız destek vere bilirseniz sevinirim. Örnek geçen yıldan kalan izinlerin tutulduğu bir tablo verisi ekleyerek.
 
Konu Sahibi
Bildiğim kadarıyla devlet memurları;
0-9 yıl hizmet süresi olanlar yıllık 20 gün,
10 yıl ve üzeri olanlar yıllık 30 gün izin hakkına sahiptir.
Ayrıca yıllık izinleri bir yıl devredebilir.
Yani;
0 yıl hizmet süresi olanlar yıllık 20+0=20 gün,
1-9 yıl hizmet süresi olanlar yıllık 20+20=40 gün,
10 yıl hizmet süresi olanlar yıllık 30+20=50 gün,
11 yıl ve daha fazla hizmet süresi olanlar yıllık 30+30=60 gün izin en fazla izin kullanma hakkına sahip olabilirler.
Buradaki sorun ise;
izin hakkı hesaplanırken
bu yıl + geçen yıl izni şeklinde değil,
bu yıl + geçen yıldan devreden izni şeklinde olmalıdır.
Yani sizin geçen yıldan kalan izinlerin tutulduğu bir tablonuz bulunmalıdır.
Desteklerinizi bekliyorum teşekkürler.
 
Personel_Bilgileri sayfanızın "AI" sütununu devreden yıllık izin için kullanabilirsiniz.
eğer böyle yaparsanız kodu aşağıdaki gibi değiştirin.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
Personel_Bilgileri sayfanızın "AI" sütununu devreden yıllık izin için kullanabilirsiniz.
eğer böyle yaparsanız kodu aşağıdaki gibi değiştirin.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Bu sadece memurlar için değilmi ve iki yılda bir sınır ise giriş tarihine göre 40 gün ve 60 gün onun üstünde olan memur personellere geriye kalan izini geriye dönük kaç gün izni var ise en eski tarihten kalan iznini siliyor.
 
siz "AI" sütununa her yıl başında önceki yıldan devren izinleri işlemeniz gerekir.
Bunu yaparken de kalan iznin tamamını değil, sadece bir önceki yıla ait hakedilen izinden geriye kalan miktarı yazmalısınız.
Örnek 5' inceleyiniz..
Memur olmayan veya izni devretmeyen personel için ise bu sütunu boş bırakmanız yeterli olcaktır.

örnek 1:
2020 yılı itibari ile 11 yıllık bir personel
2020 yılı izin hakkı 30 gün ve bunun 20 gününü kullanmış olsun,kalan 10 gün
2021 yılına geçildiğinde izin hakkı 30 gün + 2020 den kalan 10=40 eder.
Bunun da 15 gününü kullanmış olsun. 40-15=25 kaldı
2022 yılına geçildiğinde izin hakkı 30 gün + 2021 den kalan 25=55 eder.

örnek 2:
2020 yılı itibari ile 11 yıllık bir personel
2020 yılı izin hakkı 30 gün ve hiç izin kullanmamış olsun,kalan 30 gün
2021 yılına geçildiğinde izin hakkı 30 gün + 2020 den kalan 30=60 eder.
Bunun da 55 gününü kullanmış olsun. 60-55=5 kaldı
2022 yılına geçildiğinde izin hakkı 30 gün + 2021 den kalan 5=35 eder.

örnek 3:
2020 yılı itibari ile 9 yıllık bir personel
2020 yılı izin hakkı 20 gün ve bunun 12 gününü kullanmış olsun,kalan 8 gün
2021 yılına geçildiğinde 10 yıllık oldu. izin hakkı 30 gün + 2020 den kalan 8=38 eder.
Bunun da 21 gününü kullanmış olsun. 38-21=14 kaldı
2022 yılına geçildiğinde izin hakkı 30 gün + 2021 den kalan 14=44 eder.

örnek 4:
2020 yılı itibari ile 9 yıllık bir personel
2020 yılı izin hakkı 20 gün ve ve hiç izin kullanmamış olsun,kalan 20 gün
2021 yılına geçildiğinde 10 yıllık oldu. izin hakkı 30 gün + 2020 den kalan 20=50 eder.
Bunun da 40 gününü kullanmış olsun. 50-40=10 kaldı
2022 yılına geçildiğinde izin hakkı 30 gün + 2021 den kalan 10=40 eder.

örnek 5:
2020 yılı itibari ile 5 yıllık bir personel
2020 yılı izin hakkı 20 gün ve ve hiç izin kullanmamış olsun,kalan 20 gün
2021 yılına geçildiğinde izin hakkı 20 gün + 2020 den kalan 20=40 eder.
Bunun da 5 gününü kullanmış olsun. 40-5=35 kaldı.
bu 35'in 15'i 2020'den, 20'si 2021 den olduğu için sadece 20 gün sonraki yılda devredecek.
2022 yılına geçildiğinde izin hakkı 20 gün + 2021 den kalan 20=40 eder.
 
Konu Sahibi
Peki bu izinleri elle değil Excel otomatik olarak kendisi yapsa onu nasıl yapa biliriz peki ?
 
Konu Sahibi
siz "AI" sütununa her yıl başında önceki yıldan devren izinleri işlemeniz gerekir.
Bunu yaparken de kalan iznin tamamını değil, sadece bir önceki yıla ait hakedilen izinden geriye kalan miktarı yazmalısınız.
Örnek 5' inceleyiniz..
Memur olmayan veya izni devretmeyen personel için ise bu sütunu boş bırakmanız yeterli olcaktır.

örnek 1:
2020 yılı itibari ile 11 yıllık bir personel
2020 yılı izin hakkı 30 gün ve bunun 20 gününü kullanmış olsun,kalan 10 gün
2021 yılına geçildiğinde izin hakkı 30 gün + 2020 den kalan 10=40 eder.
Bunun da 15 gününü kullanmış olsun. 40-15=25 kaldı
2022 yılına geçildiğinde izin hakkı 30 gün + 2021 den kalan 25=55 eder.

örnek 2:
2020 yılı itibari ile 11 yıllık bir personel
2020 yılı izin hakkı 30 gün ve hiç izin kullanmamış olsun,kalan 30 gün
2021 yılına geçildiğinde izin hakkı 30 gün + 2020 den kalan 30=60 eder.
Bunun da 55 gününü kullanmış olsun. 60-55=5 kaldı
2022 yılına geçildiğinde izin hakkı 30 gün + 2021 den kalan 5=35 eder.

örnek 3:
2020 yılı itibari ile 9 yıllık bir personel
2020 yılı izin hakkı 20 gün ve bunun 12 gününü kullanmış olsun,kalan 8 gün
2021 yılına geçildiğinde 10 yıllık oldu. izin hakkı 30 gün + 2020 den kalan 8=38 eder.
Bunun da 21 gününü kullanmış olsun. 38-21=14 kaldı
2022 yılına geçildiğinde izin hakkı 30 gün + 2021 den kalan 14=44 eder.

örnek 4:
2020 yılı itibari ile 9 yıllık bir personel
2020 yılı izin hakkı 20 gün ve ve hiç izin kullanmamış olsun,kalan 20 gün
2021 yılına geçildiğinde 10 yıllık oldu. izin hakkı 30 gün + 2020 den kalan 20=50 eder.
Bunun da 40 gününü kullanmış olsun. 50-40=10 kaldı
2022 yılına geçildiğinde izin hakkı 30 gün + 2021 den kalan 10=40 eder.

örnek 5:
2020 yılı itibari ile 5 yıllık bir personel
2020 yılı izin hakkı 20 gün ve ve hiç izin kullanmamış olsun,kalan 20 gün
2021 yılına geçildiğinde izin hakkı 20 gün + 2020 den kalan 20=40 eder.
Bunun da 5 gününü kullanmış olsun. 40-5=35 kaldı.
bu 35'in 15'i 2020'den, 20'si 2021 den olduğu için sadece 20 gün sonraki yılda devredecek.
2022 yılına geçildiğinde izin hakkı 20 gün + 2021 den kalan 20=40 eder.
Peki fazlalıkları otomatik olarak silecek mı peki?Peki bu izinleri elle değil Excel otomatik olarak kendisi yapsa onu nasıl yapa biliriz peki ?Ayrıca işçi personellerde silme olmayacak ama kalan zin bir sonraki yıla tabiki devredecek ne kadar kaldıysa öteki yıla ekleyecek
 
Olabilir tabi.
yazılacak kod her yıl başında yılda bir defa çalıştırılmak üzere tasarlanabilir.
bu da manuel veya yıl döndüğünde otomatik çalışacak şekilde tasarlanabilir.
mesela 2022 yılı başında kodu çalıştırdığımızı düşünürsek mantık söyle olmalı:
kalan=2020 yılından devreden izin ("AI" sütununda olması lazım) + 2021 yılı izin hakkı (hizmet süresine göre) - 2021 yılında kullandığı izin
bu kalan <= 2021 yılı izin hakkı (hizmet süresine göre) olacak şekilde tasarlanabilir.
son olarak bulunan kalan "AI" sütununa yazdırılıp kaydedilir ve yıl boyunca değiştirilmez.
2023 yılbaşında kod tekrar çalıştırılır.
 
Konu Sahibi
Olabilir tabi.
yazılacak kod her yıl başında yılda bir defa çalıştırılmak üzere tasarlanabilir.
bu da manuel veya yıl döndüğünde otomatik çalışacak şekilde tasarlanabilir.
mesela 2022 yılı başında kodu çalıştırdığımızı düşünürsek mantık söyle olmalı:
kalan=2020 yılından devreden izin ("AI" sütununda olması lazım) + 2021 yılı izin hakkı (hizmet süresine göre) - 2021 yılında kullandığı izin
bu kalan <= 2021 yılı izin hakkı (hizmet süresine göre) olacak şekilde tasarlanabilir.
son olarak bulunan kalan "AI" sütununa yazdırılıp kaydedilir ve yıl boyunca değiştirilmez.
2023 yılbaşında kod tekrar çalıştırılır.
Peki o kodu nasıl yapa biliriz.
Normal personellerde memur gibi düşme olmayacak ama diğer yıla kalan izinler devredecek şekilde nasıl yapa biliriz. Otomatik program kendisi yapmalı bunu. Sadece il personel kayıtta personelin kalan izin haklarını da düzenlemek gerekecek. Onu nasıl ayarlaya biliriz örnek 2007 yılında giren normal personel kalan izinleri var mesela zaten memur personelde böyle bir sorun olmaz sadece son iki yıl arasında kalan izin hakkı gibi. Bu sorunu nasıl ortadan kaldıra bilirim?

Özetlersek geçmiş yıldaki izin verilerine geliyor yine. Bu sorunu da AI sütununda demiştiniz sanırım net bir örnek oluştura bilirseniz bende sorumu net aktara bilirim kafamda belirgin ama aktaramıyorum :D
 
Konu Sahibi
Personel_Bilgileri sayfanızın "AI" sütununu devreden yıllık izin için kullanabilirsiniz.
eğer böyle yaparsanız kodu aşağıdaki gibi değiştirin.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Ben kod içerisine bir ekleme yaptım ama ne yazık ki sizin yazmış olduğunuz koddaki Sheets("Personel_Bilgileri").Cells(i, 35) + 20 hesaplamayı yapmıyor yıllık izinde ekleme yapmıyor. AI sütunu ekledim belki yanlış olmuştur. Otomatik hesaplama yapmaya çalıştım onda da başarısız oldum.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Deneyiniz.
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
 
Çözüm
Konu Sahibi
Neyi denememi istediniz anlamadım yaptım ama hiç bir şekilde olmuyor AI yerine bir şey eklemiyor ben eklesem yıllık izin hakkına yazdım rakamı eklemiyor.
Ayrıca Sheets("Personel_Bilgileri").Cells(i, 35) + 20 eklemiş olduğunuz çalışmıyor.
Otomatik düşmeyi nasıl yapacağım bilmiyorum yukarıda belirtiğiniz gibi aşağıya da yazdım bunları nasıl yapacağım olmadı.
Olabilir tabi.
yazılacak kod her yıl başında yılda bir defa çalıştırılmak üzere tasarlanabilir.
bu da manuel veya yıl döndüğünde otomatik çalışacak şekilde tasarlanabilir.
mesela 2022 yılı başında kodu çalıştırdığımızı düşünürsek mantık söyle olmalı:
kalan=2020 yılından devreden izin ("AI" sütununda olması lazım) + 2021 yılı izin hakkı (hizmet süresine göre) - 2021 yılında kullandığı izin
bu kalan <= 2021 yılı izin hakkı (hizmet süresine göre) olacak şekilde tasarlanabilir.
son olarak bulunan kalan "AI" sütununa yazdırılıp kaydedilir ve yıl boyunca değiştirilmez.
2023 yılbaşında kod tekrar çalıştırılır.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst