Günlük Puantaj Şablonlarını Seçilen Aya Göre Çoğaltın
Bu çalışma kitabı, seçilen ayın her günü için ayrı puantaj sayfası hazırlayan bir VBA örneğidir. Aylık tek bir çizelgede bütün günleri yan yana toplamak yerine, aynı personel ve vardiya düzenini günlük sayfalara kopyalar. Kaynakta Puantaj adlı bir çalışma sayfası ile ay ve yıl seçiminin yapıldığı puantaj adlı kullanıcı formu bulunur. Oluşturulan dosya, seçilen ayın adını taşıyan ayrı bir XLSX çalışma kitabıdır. Kaynak makrolu XLSM dosyası üretim aracı olarak korunur; günlük kayıtların doldurulacağı sayfalar yeni dosyada yer alır.Dosyanın Gerçek İşlevi
Temel işlem, günlük puantaj düzenini takvimdeki gerçek gün sayısı kadar çoğaltmaktır. Şubat ayı için yirmi sekiz veya yirmi dokuz, otuz günlük aylar için otuz, diğer aylar için otuz bir sayfa oluşturulur. Her sayfanın adı gün ve ay bilgisinden meydana gelir. Sayfanın I1 hücresine ilgili günün tarih değeri yazılır. Personel satırları, başlıklar, vardiya alanları ve açıklama bölümleri kaynak sayfadan kopyalandığı için her gün aynı başlangıç düzeniyle açılır. Böylece tarihleri tek tek değiştirme ve sayfaları elle çoğaltma işi makroyla yürütülür.Dosya çalışma saatlerini toplayan, ücret hesaplayan veya aylık izin bakiyesini çıkaran bir bordro sistemi değildir. Kaynak sayfada hücre formülü bulunmaz. Günlük kayıt alanları kullanıcı tarafından doldurulur; kopyalama yordamı bu alanlardaki mevcut değerleri değiştirmez. Örneğin kaynakta belirli bir personelin adı veya vardiya alanı düzenlenmişse, yeni aya ait bütün günlük sayfalara aynı başlangıç bilgisi taşınır. Günler arasında gerçekleşen değişikliklerin, oluşturulan dosyanın ilgili günlük sayfasında ayrıca kaydedilmesi gerekir.
Puantaj Sayfasının Düzeni
Puantaj sayfasının kullanılan alanı A1:I62 aralığındadır. Üst bölümde işletme ve saha puantajını tanımlayan başlık, vardiya saatleri ve fazla mesai alanı yer alır. Tablo başlıkları sıra numarası, sicil numarası, ad ve soyadı, vardiya veya durum alanları ile düşünceler bölümünü ayırır. C4:C58 aralığında Personel adı birden başlayarak numaralandırılmış elli beş örnek satır vardır. Bu ifadeler gerçek çalışan listesi değil, şablonun personel kapasitesini gösteren örnek etiketlerdir. İndirilen kaynak, bu numaralı örnek düzeniyle sunulur.Üstte görülen vardiya saatleri 00.30 ile 08.30, 08.30 ile 16.30 ve 16.30 ile 00.30 aralıklarını gösterir. Bu başlıklar kaynak tasarımın metinleridir; bir vardiya süresi formülü veya otomatik saat doğrulaması oluşturmaz. Kullanım amacına göre kayıtlar bu alanlarda tutulabilir. Gece yarısını aşan vardiya başlığının bulunması, çalışma kitabının gece çalışmasını veya fazla mesai ücretini kendiliğinden hesapladığı anlamına gelmez. Günlük satırlar veri girişi için hazırlanmış boş ya da örnek alanlar olarak değerlendirilmelidir.
Alt bölümde üç vardiyaya ilişkin açıklama alanları ve izin kısaltmaları bulunur. Doğum izni, ölüm izni, hafta tatili, ücretsiz izin, resmî tatil, mazeret izni, evlilik izni, hastalık ve yıllık izin gibi başlıklar kaynak metinlerinde yer alır. Bazı başlıkların yanında gün sayıları da yazılıdır. Bunlar korunmuş tarihsel şablon açıklamalarıdır; güncel çalışma mevzuatına ilişkin doğrulanmış hak veya süre önerisi olarak sunulmaz. Dosyanın amacı bu metinleri hukuken güncellemek değil, aynı günlük kayıt düzenini takvim günlerine göre çoğaltmaktır.
Ay ve Yıl Seçim Formu
puantaj kullanıcı formu, ay listesi, yıl alanı, gün sayısı göstergesi ve oluşturma düğmesini bir araya getirir. Ay listesinde Ocak ile Aralık arasındaki on iki Türkçe ay adı bulunur. Kaynak yıl listesi 2018 ile 2023 arasındaki değerleri içerir ve başlangıçta 2018 seçilir. Bu tarihsel liste korunmuştur. Yıl alanına farklı bir yıl yazılması, listede hazır bulunmayan yılların kullanılmasına olanak verir; bağımsız testte 2024 ve 2028 gibi artık yılların şubat ayları gerçek yirmi dokuz günlük çıktıyla doğrulanmıştır.Ay veya yıl değiştiğinde formun son adlı alanı ilgili ayın son gününü gösterir. Oluşturma düğmesi de seçilen ayın ilk ve son tarihlerini yeniden belirler; yalnızca ekranda önceden görünen gün sayısına güvenmez. Ayın son günü DateSerial ile bir sonraki ayın sıfırıncı günü olarak elde edilir. Bu yöntem yıl geçişini ve artık yılı takvim üzerinden işler. Kaynak formun görünümü ve kontrol isimleri revizyonda korunmuştur; işlev onarımı formun yerine başka bir arayüz eklememiştir.
VBA İşlem Akışı ve Çıktı
Oluşturma düğmesi kaynak çalışma kitabının Puantaj sayfasını kullanır. İlk kopya yeni bir çalışma kitabı meydana getirir; sonraki günlerin kopyaları bu kitabın sonuna eklenir. Her kopyaya gün ve ay içeren sayfa adı verilir, I1 hücresine gerçek tarih değeri yazılır ve tarih bir gün ilerletilir. Böylece sonuç kitabında yalnızca ayın günlük puantaj sayfaları bulunur. Excel kurulumunun yeni kitapta kaç varsayılan sayfa açtığına bağlı bir silme işlemi yapılmaz; oluşturulan yapı doğrudan kaynak sayfanın kopyalarıyla kurulur.Sonuç dosyasının adı ay adı ve Puantajı ifadesinden oluşur; örneğin Şubat Puantajı.xlsx olarak kaydedilir. Kayıt yeri, kaynak XLSM çalışma kitabının bulunduğu klasördür. Kaynak önce bir klasöre kaydedilmiş olmalıdır ve klasöre yazma izni gereklidir. Çıktı yolu başka bir bilgisayardaki sabit kullanıcı adına veya masaüstü dizinine bağlanmaz. Dosya oluşturma başarısız olursa hata açıklaması gösterilir; başarılı kayıt bildirimi yalnız SaveAs işlemi tamamlandıktan sonra verilir. Oluşturulan XLSX dosyası makrolu üretim aracından ayrı tutulur.
Çıktı adında yıl bulunmadığı için aynı klasörde başka bir yıla ait aynı ay dosyası varsa ad çakışması yaşanabilir. Revizyon mevcut dosyanın üzerine sessizce yazmaz; aynı adlı dosya bulunduğunda uyarı vererek işlemi durdurur. Önceki çıktı farklı bir adla saklanabilir veya kaynak başka bir çalışma klasöründe kullanılabilir. Bu koruma yıllar arasında farklı puantaj kayıtlarının yanlışlıkla ezilmesini önler. Aynı dosyaya yeni günlük kayıtları birleştiren ya da geçmiş aylara otomatik ekleyen bir özellik bulunmaz.
Yapılan Dar İşlev Onarımı
Özgün oluşturma yordamı, kaynağı sabit Puantaj_Hazirlama.xls adıyla arıyordu. Mevcut yüklenen dosya XLSM biçiminde farklı bir ad taşıdığı için bu başvuru gerçek kaynak kitabı bulamıyordu. Ayrıca günlük tarih hücresinde noktasız küçük harfle yazılmış bir adres, varsayılan Sayfa bir iki üç sayfalarını silme varsayımı ve belirli bir geliştirici hesabının masaüstü kayıt yolu bulunuyordu. Hataları topluca bastıran eski yaklaşım, işlem tamamlanmasa bile başarı mesajı gösterebiliyordu. Bu sorunlar günlük dosya üretimini doğrudan etkilediği için revizyon hazırlanmıştır.Revizyon yalnız oluşturma düğmesinin yordamını değiştirir. Kaynak başvurusu ThisWorkbook üzerinden kurulur, tarih adresi I1 olarak açık yazılır, günlük sayfalar varsayılan kitap sayfalarına bağımlı olmadan çoğaltılır ve çıktı kaynak klasörüne kaydedilir. Hata durumunda açıklama, mevcut çıktı durumunda ise üzerine yazmayı engelleyen uyarı gösterilir. Formun diğer olayları, kullanıcı arayüzü, kaynak sayfanın hücreleri ve biçimleri, eski yardımcı makrolar korunmuştur. ZIP içeriği karşılaştırmasında yalnız xl/vbaProject.bin parçası değişmiş; diğer bütün çalışma kitabı parçaları birebir korunmuştur.
Kullanım Sırası
Makrolu kaynak dosya önce uygun bir çalışma klasörüne kaydedilir. Güvenilen dosya için Excel makro çalıştırma izni gerektiği dikkate alınır; makrolar kapalıysa kullanıcı formunun oluşturma düğmesi günlük çıktı üretemez. Puantaj sayfasındaki personel başlangıç bilgileri ve ihtiyaç duyulan alanlar düzenlenebilir. Ardından kaynak ay seçim formu açılır, ay seçilir ve yıl alanı kontrol edilir. Gösterilen gün sayısı seçilen takvim dönemine göre değerlendirilir. Oluşturma düğmesi çalıştırıldığında yeni XLSX dosyası aynı klasöre kaydedilir.Yeni dosyada ilk ve son günlük sayfanın tarihleri kontrol edilebilir. Bağımsız native Excel testlerinde yirmi sekiz, yirmi dokuz, otuz ve otuz bir günlük aylar ayrı ayrı üretilmiş; bütün günlük tarih değerleri ile kopyalanan personel alanları incelenmiş ve çıktı dosyaları tekrar açılmıştır. Mevcut aylık dosya korunurken yeniden oluşturma denemesinde uyarı verildiği de doğrulanmıştır. Bu kontroller gerçek makro düğmesiyle özel test kopyalarında yürütülmüştür; yayımlanan çalışma kitabına test personeli veya test çıktıları eklenmemiştir.
Görseller ve Dosya Sınırları
Galeride gerçek Puantaj sayfasının tamamı ve gerçek ay seçim formu gösterilir. Bu görüntüler Excel uygulamasından alınmıştır; kapaktaki renkli çalışma sayfası çizimi ise konuyu anlatan bir illüstrasyondur. Form görüntüsü, yıl alanına 2024 girilip Şubat seçilmiş gerçek kontrol durumunu gösterir. Filigran için görüntülerin altına boş alan ayrılmıştır; kaynak tablo veya form kontrolleri damganın altında kalmaz. Oluşturulan her günün ayrı galeri görüntüsü paylaşılmaz; bütün günlük sayfalar makronun ürettiği XLSX kitabında bulunur.Kaynakta tarihsel yardımcı makrolar da vardır. Bu eski yordamların tamamı otomatik bir bordro veya izin sistemi olarak doğrulanmış değildir; güncel revizyonun işlev kanıtı ay seçim formunun oluşturma düğmesini kapsar. Kaynak yıl listesinin eski değerleri, izin açıklamalarının tarihsel metinleri ve günlük tablonun manuel kayıt yapısı içerikte açık tutulmuştur. Özgün iki dosya sürümü indirme geçmişinde korunur; yeni düğme onarımı ayrı bir güncel sürüm olarak sunulur. Böylece örneğin eski halini inceleme ve çalışır üretim yordamını kullanma seçenekleri ayrılır.