Otomatik Puantaj Takip Programı, çalışanların mesai saatleri ve izinleri düzenli şekilde takip edilmektedir.
Excel Otomatik Puantaj Takip Programı
Excel tabanlı, VBA ile geliştirilmiş kapsamlı bir personel puantaj takip sistemidir. Sistem, personel bilgilerinin yönetimini, izin takibini, puantaj oluşturmayı ve raporlama işlemlerini otomatikleştirmektedir.Özellikler
- Personel bilgilerinin merkezi yönetimini sağlamaktadır.
- Personel hareketlerinin (şirket, bölüm, kadro değişiklikleri) takibini yapmaktadır.
- İzin kayıtlarını otomatik olarak hesaplamaktadır.
- Aylık puantaj tablolarını otomatik olarak oluşturmaktadır.
- Resmi ve dini tatilleri API üzerinden otomatik olarak çekmektedir.
- Hafta tatili günlerine göre otomatik hesaplama yapmaktadır.
- İzin başlangıç/bitiş tarihlerine göre işbaşı tarihini otomatik olarak belirlemektedir.
- Çakışan izin tarihlerini kontrol etmektedir.
- İşten ayrılan personel için izin girişini engellemektedir.
- Filtrelenebilir puantaj oluşturma özelliği sunmaktadır (Şirket, Bölüm, Kadro bazında).
Sayfa Yapısı
Dosyanın sayfa yapıları şu şekildedir:1. Tanımlar Sayfası
Sistemde kullanılan temel tanımların yapıldığı sayfadır.- Şirket Adı (A sütunu): Şirket isimlerini içermektedir.
- Bölüm Adı (C sütunu): Bölüm isimlerini içermektedir.
- Kadro Adı (E sütunu): Kadro isimlerini içermektedir.
- İzin Tipleri (G sütunu): İzin türlerini içermektedir.
- Hafta Tatili Günleri (I sütunu): Hafta tatili seçeneklerini içermektedir.
- Hareket Tipleri (K sütunu): Personel hareket türlerini içermektedir (İşe Giriş, Maaş Değişikliği, Terfi, Transfer, İşten Çıkış, vb.).
Not: Her başlık arasında bir sütun boşluk bulunmaktadır. Veri girişi yapılırken, makro ile aynı değerin daha önce kullanılıp kullanılmadığı kontrol edilmektedir.
2. Personel Sayfası
Personelin değişmeyen temel bilgilerinin tutulduğu sayfadır.- Sicil (A sütunu): Personel sicil numarasını içermektedir (benzersiz, makro kontrolü ile).
- Adı (B sütunu): Personel adını içermektedir.
- Soyadı (C sütunu): Personel soyadını içermektedir.
- Doğum Tarihi (D sütunu): Doğum tarihini içermektedir (zorunlu, geçerli tarih kontrolü).
- İşe Giriş Tarihi (E sütunu): İşe giriş tarihini içermektedir (zorunlu, doğum tarihinden sonra, 14 yaş kontrolü).
- İşten Çıkış Tarihi (F sütunu): İşten çıkış tarihini içermektedir (opsiyonel).
Özellikler:
- Sicil numarası benzersizlik kontrolü yapılmaktadır.
- Doğum tarihinden önce işe giriş tarihi girilememektedir.
- 14 yaşından küçük personel için işe giriş tarihi girilememektedir.
- İşe giriş tarihi girildiğinde, otomatik olarak "PersonelHareket" sayfasına "İşe Giriş" kaydı eklenmektedir.
- İşten çıkış tarihi girildiğinde, "PersonelHareket" sayfasındaki son aktif hareket kapatılmaktadır.
- Satır silme işleminde, ilişkili "PersonelHareket" kayıtlarının da silinmesi için onay istenmektedir.
3. PersonelHareket Sayfası
Personelin değişken bilgilerinin (şirket, bölüm, kadro, maaş, hafta tatili günü) tarihsel olarak takip edildiği sayfadır.- Sicil (A sütunu): Personel sicil numarasını içermektedir (çift tıklama ile seçim).
- Adı (B sütunu): Otomatik olarak doldurulmaktadır.
- Soyadı (C sütunu): Otomatik olarak doldurulmaktadır.
- Hareket Başlangıç Tarihi (D sütunu): Hareketin başladığı tarihi içermektedir (ayın ilk günü olmalı).
- Hareket Bitiş Tarihi (E sütunu): Hareketin bittiği tarihi içermektedir (otomatik olarak doldurulmaktadır).
- Hareket Tipi (F sütunu): Hareket türünü içermektedir (çift tıklama ile seçim).
- Şirket (G sütunu): Şirket adını içermektedir (çift tıklama ile seçim).
- Bölüm (H sütunu): Bölüm adını içermektedir (çift tıklama ile seçim).
- Kadro (I sütunu): Kadro adını içermektedir (çift tıklama ile seçim).
- Maaş (J sütunu): Maaş bilgisini içermektedir.
- Hafta Tatili Günü (K sütunu): Hafta tatili gününü içermektedir (çift tıklama ile seçim).
Özellikler:
- Yeni hareket başlangıç tarihi girildiğinde, önceki aktif hareketin bitiş tarihi otomatik olarak bir gün öncesine ayarlanmaktadır.
- Sicil, Ad, Soyad bilgileri "Personel" sayfasından otomatik olarak çekilmektedir.
- Şirket, Bölüm, Kadro, Hafta Tatili Günü seçimleri UserForm ile yapılmaktadır.
- Hareket Tipi seçimi "Tanımlar" sayfasından yapılmaktadır.
4. İzin Sayfası
Personel izin kayıtlarının tutulduğu ve otomatik olarak hesaplandığı sayfadır.- Sicil (A sütunu): Personel sicil numarasını içermektedir (çift tıklama ile seçim).
- Adı Soyadı (B sütunu): Otomatik olarak doldurulmaktadır, kilitlidir.
- Hafta Tatili Günü (C sütunu): PersonelHareket'ten otomatik olarak çekilmektedir, kilitlidir.
- İzin Tipi (D sütunu): İzin türünü içermektedir (çift tıklama ile seçim).
- Başlangıç Tarihi (E sütunu): İzin başlangıç tarihini içermektedir (zorunlu).
- Bitiş Tarihi (F sütunu): İzin bitiş tarihini içermektedir (zorunlu).
- İşbaşı Tarihi (G sütunu): Otomatik olarak hesaplanmaktadır, kilitlidir.
- Toplam Gün (H sütunu): Otomatik olarak hesaplanmaktadır, kilitlidir.
Özellikler:
- İzin başlangıç ve bitiş tarihleri hafta tatili günü, resmi tatil veya arefe günü olamamaktadır.
- Yıllık izin ve ücretsiz izin: Hafta tatilleri ve resmi/dini tatiller çıkarılarak hesaplanmaktadır.
- Diğer izin tipleri: Hafta tatilleri ve resmi/dini tatiller dahil edilerek hesaplanmaktadır.
- Arefe günleri: "Seçenekler" sayfasındaki ayara göre yarım gün veya tam gün sayılmaktadır.
- İşbaşı tarihi: İzin bitiş tarihinden sonraki ilk iş günü otomatik olarak hesaplanmaktadır.
- Aynı personel için çakışan izin tarihleri engellenmektedir.
- İşten ayrılan personel için, işten çıkış tarihinden sonra izin girişi yapılamamaktadır.
- Üstteki satırlarda eksik bilgi varsa, yeni kayıt girişi engellenmektedir.
5. Puantaj Sayfası
Aylık puantaj tablolarının oluşturulduğu sayfadır.Kriterler Bölümü (A sütunu):
- Yıl: Puantaj yılını belirtmektedir.
- Ay: Puantaj ayını belirtmektedir.
- Şirket: Filtreleme kriterini belirtmektedir (dropdown, "Tüm Şirketler" varsayılan).
- Bölüm: Filtreleme kriterini belirtmektedir (dropdown, "Tüm Bölümler" varsayılan).
- Kadro: Filtreleme kriterini belirtmektedir (dropdown, "Tüm Kadrolar" varsayılan).
Puantaj Tablosu (C sütunundan itibaren):
- Her sütun arasında bir boş sütun bulunmaktadır.
- Her satır arasında bir boş satır bulunmaktadır (yükseklik 3).
- Başlıklar: Sicil, Ad Soyad, 1, 2, 3, ... (gün numaraları) şeklindedir.
- Hafta tatilleri: "HT" yazılmaktadır, arka plan rengi #F2F2F2'dir.
- Resmi/Dini tatiller: Tatil tipi kodları (RT, DB, RA, DA) yazılmaktadır, renkler "Tatiller" sayfasından alınmaktadır.
- İzinler: İzin tipi kısa kodları yazılmaktadır, renkler "İzinTipleri" sayfasından alınmaktadır.
- Normal çalışma günleri: "NÇ" yazılmaktadır.
- İşe giriş/çıkış tarihlerine göre ilgili günler boş bırakılmaktadır.
- Dönem içinde işe giren personelin sicil ve ad soyad yazı rengi: #245269'dur.
- Dönem içinde işten çıkan personelin sicil ve ad soyad yazı rengi: #843534'tür.
- "NÇ" ve "HT" dışındaki hücrelere Data Validation ile izin/tatil bilgileri eklenmektedir.
6. Tatiller Sayfası
Resmi ve dini tatillerin API üzerinden otomatik olarak çekildiği sayfadır.- Tarih (A sütunu): Tatil tarihini içermektedir.
- Ad (B sütunu): Tatil adını içermektedir.
- Tip Kodu (C sütunu): Tatil tipi kodunu içermektedir (RT, DB, RA, DA).
- Tip (D sütunu): Tatil tipi açıklamasını içermektedir.
- Süre (E sütunu): Tatil süresini içermektedir (gün).
- Kısa Ad (F sütunu): Tatil kısa adını içermektedir.
- Arka Plan Rengi (G sütunu): Hex renk kodunu içermektedir.
- Metin Rengi (H sütunu): Hex renk kodunu içermektedir.
Özellikler:
- Workbook açıldığında ve sayfa aktifleştirildiğinde otomatik olarak güncellenmektedir.
- Mevcut yıl, önceki yıl ve sonraki yıl için veri çekilmektedir (toplam 3 yıl).
- Eğer sayfada zaten veri varsa, API çağrısı yapılmamaktadır (performans optimizasyonu).
- API'den gelen veriler JSON formatında parse edilmektedir.
- Ondalık süreler (0.5 gibi) doğru şekilde yazılmaktadır.
7. İzinTipleri Sayfası
İzin türlerinin detaylı bilgilerinin tutulduğu sayfadır.- Adı (A sütunu): İzin tipi adını içermektedir.
- Kısa Kod (B sütunu): İzin tipi kısa kodunu içermektedir (2 karakter).
- Parası Ödenecek (C sütunu): Parası ödenecek mi? (EVET/HAYIR) bilgisini içermektedir.
- Çarpan Oranı (D sütunu): Çarpan oranını içermektedir.
- Arka Plan Rengi (E sütunu): Hex renk kodunu içermektedir.
- Yazı Rengi (F sütunu): Hex renk kodunu içermektedir.
8. MesaiTipleri Sayfası
Mesai türlerinin detaylı bilgilerinin tutulduğu sayfadır.Henüz Mesai sistemi puantaja entegre değildir. Sonraki versiyonlarda düşünülmektedir.
- Adı (A sütunu): Mesai tipi adını içermektedir.
- Kısa Kod (B sütunu): Mesai tipi kısa kodunu içermektedir.
- Çarpan Oranı (C sütunu): Çarpan oranını içermektedir.
- Başlangıç Saati (D sütunu): Mesai başlangıç saatini içermektedir.
- Bitiş Saati (E sütunu): Mesai bitiş saatini içermektedir.
9. Seçenekler Sayfası
Sistem ayarlarının yapıldığı sayfadır.- Arefe Yarım Gün Sayılsın (B2 hücresi): "EVET" veya "HAYIR" değerini içermektedir.
Kullanım
Dosyanın kurulum aşamaları şu şekildedir:İlk Kurulum
- Excel dosyasını açın.
- "Tanımlar" sayfasına şirket, bölüm, kadro, izin tipleri, hafta tatili günleri ve hareket tipleri bilgilerini girin.
- "Personel" sayfasına personel bilgilerini girin.
- "PersonelHareket" sayfasında personellerin ilk hareket kayıtlarını oluşturun.
- "İzinTipleri" sayfasına izin türlerinin detaylarını girin.
Günlük Kullanım
- İzin Girişi: "İzin" sayfasında sicil seçin, izin tipi, başlangıç ve bitiş tarihlerini girin. Sistem otomatik olarak işbaşı tarihi ve toplam günü hesaplamaktadır.
- Puantaj Oluşturma: "Puantaj" sayfasında yıl ve ay seçin, isteğe bağlı olarak şirket, bölüm, kadro filtreleri uygulayın. "Puantaj Oluştur" butonuna tıklayın (veya ilgili makroyu çalıştırın).
- Personel Hareketi: "PersonelHareket" sayfasında yeni hareket kayıtları ekleyin. Sistem otomatik olarak önceki hareketleri kapatmaktadır.
Teknik Detaylar
Dosyanın tek detayları şu şekildedir:Veri Doğrulama
- Sicil numarası benzersizlik kontrolü yapılmaktadır.
- Tarih formatı kontrolü yapılmaktadır.
- Tarih mantığı kontrolü yapılmaktadır (başlangıç < bitiş, doğum < işe giriş, vb.).
- 14 yaş kontrolü yapılmaktadır.
- Çakışan izin tarihleri kontrolü yapılmaktadır.
- İşten ayrılan personel kontrolü yapılmaktadır.
- Eksik bilgi kontrolü yapılmaktadır.
Sayfa Koruması
- "İzin" sayfasında B, C, G, H sütunları kilitlidir (otomatik doldurulan alanlar).
- Sayfa koruması `UserInterfaceOnly:=True` ile yapılmaktadır, böylece VBA kodları çalışmaya devam etmektedir.
- Kullanıcı kilitli hücrelere yazmaya çalıştığında uyarı mesajı gösterilmektedir.
UserForm'lar
- frmSecim: Şirket, Bölüm, Kadro, İzin Tipi, Hafta Tatili Günü, Hareket Tipi seçimi için kullanılmaktadır. Arama özelliği ile filtreleme yapılabilmektedir.
- frmPersonelSecim: Personel seçimi için kullanılmaktadır. Sicil, Ad, Soyad ile arama yapılabilmektedir. Sadece aktif personeller (işten çıkış tarihi olmayan) gösterilmektedir.
Performans Optimizasyonları
- Tatil verileri cache'lenmektedir, gereksiz API çağrıları yapılmamaktadır.
- Büyük veri yazma işlemlerinde 2D array kullanılmaktadır.
- Screen updating ve calculation geçici olarak kapatılmaktadır.
- Tatiller sayfasında mevcut veri kontrolü yapılmaktadır.
Gelecek Geliştirmeler
Dosyaya gösterilecek ilgiye göre aşağıdaki geliştirmelerin yapılması ve sonraki sürümlerde yayınlanması düşünülmektedir. Ancak bunun için tarafımızca bir garanti verilmemektedir.- Dashboard sayfası (istatistikler ve grafikler) eklenecektir.
- Mesai kayıtları modülü eklenecektir.
- Maaş hesaplama modülü eklenecektir.
- Raporlama modülü eklenecektir.
- Excel dışı veri aktarımı (CSV, PDF) eklenecektir.
Notlar
- Sistem, Türkçe Excel ortamında test edilmiştir.
- Ondalık ayırıcı sorunları özel olarak ele alınmıştır.
- Tüm tarih işlemleri yerel saat dilimine göre yapılmaktadır.
- API bağlantısı olmadan da çalışmaktadır (Tatiller sayfasından okumaktadır).
Destek
Sorularınız ve önerileriniz için https://www.exceldestek.com/forumlar/ozel-destek.61/ linkinden talep oluşturabilirsiniz.Yararlanılması temennisiyle.
- Telif Hakkı Uyarısı
- Bu dosya, ExcelDepo yöneticileri tarafından geliştirilmiş ve tüm hakları saklıdır. Dosyanın tamamının veya bir kısmının, ExcelDepo’nun yazılı izni olmaksızın çoğaltılması, paylaşılması, dağıtılması, ticari amaçla kullanılması veya başka platformlarda yayınlanması yasaktır. Bu hükümlere aykırı kullanım halinde, 5846 sayılı Fikir ve Sanat Eserleri Kanunu ve ilgili mevzuat kapsamında yasal işlem başlatılabilir.