Personel Listesini Formla Yönetip Aylık Çizelgeleri Tek Seferde Yazdırma Aracı
Bu makrolu Excel dosyası, küçük ve orta ölçekli ekiplerde personel listesinin bir kullanıcı formu üzerinden tutulmasını ve seçilen yıl ile ay için her çalışana ait aylık çizelgenin yazıcıya gönderilmesini sağlar. Dosya üç çalışma sayfasından ve bu sayfaları birbirine bağlayan bir VBA kullanıcı formundan oluşur. Personel kaydı eklemek, mevcut bir kaydı düzeltmek, kaydı silmek ve bir ya da birden fazla kişi için aylık çizelge almak aynı pencereden yapılır. Hücrelerle tek tek uğraşmak yerine form alanlarının doldurulması ve ilgili düğmeye basılması yeterlidir.Dosya .xlsm biçimindedir ve çalışabilmesi için makroların etkin olduğu bir masaüstü Excel gerekir. Çalışma sayfalarında formül, grafik, tablo nesnesi, adlandırılmış aralık veya veri doğrulama kuralı bulunmaz; bütün işlevsellik kullanıcı formundaki VBA kodundan gelir. Bu sade yapı, dosyanın kolay anlaşılmasını ve gerektiğinde kurum ihtiyacına göre uyarlanmasını kolaylaştırır.
Dosya Ne İşe Yarar
Dosyanın çözdüğü problem iki parçalıdır. İlk parça, personel adlarının ve SSK numaralarının düzenli, sıra numaralı bir listede tutulmasıdır. İkinci parça ise her ay her çalışan için aynı düzende hazırlanmış bir çizelgenin kâğıda dökülmesidir. Elle yapıldığında bu iş, her kişi için çizelge sayfasındaki ad ve numara hücrelerini değiştirmeyi, ay adını yazmayı, ayın kaç gün çektiğine göre gün satırlarını düzenlemeyi ve ardından yazdırmayı gerektirir. Dosyadaki makro bu adımların tamamını sırayla yürütür.Kullanıcı formu, personel listesini doğrudan Sayfa1 üzerinde tutar. Yazdırma sırasında Sayfa2'deki çizelge şablonu seçilen her kişi için ayrı ayrı doldurulur ve yazıcıya gönderilir. İşlem bittiğinde şablon ilk hâline geri döndürülür; böylece bir sonraki kullanımda sayfa önceki kişinin bilgileriyle kalmaz. Sayfa3 ise formdaki yıl ve ay açılır listelerinin kaynağıdır.
Dosyanın kapsamı bilinçli olarak dardır. Bordro, maaş, mesai veya puantaj hesabı yapmaz; devam ve izin bilgisini işlemez, bir veritabanına ya da çevrim içi bir servise bağlanmaz. Görevi personel listesini düzenli tutmak ve aylık çizelge çıktısını hızlandırmaktır.
Sayfa Sayfa İçerik
Sayfa1 Personel Listesi
Sayfa1, personel kayıtlarının tutulduğu ana listedir. A sütununda Sıra No, B sütununda Adı Soyadı, C sütununda SSK No başlıkları yer alır. Dosya, Kişi 1 ile Kişi 25 arasında adlandırılmış ve 2536 ile 2560 arasında numaralandırılmış 25 satırlık örnek veriyle gelir. Bu satırlar gerçek kişilere ait değildir; formun ve yazdırma akışının nasıl çalıştığını göstermek için yerleştirilmiş sentetik kayıtlardır ve gerçek kullanımda form üzerinden silinip yerine kurum listesi girilebilir.Sayfanın sağ tarafında FORMU AÇ düğmesi ve kısa bir kullanım notu bulunur. Not, kayıt ekleme, düzeltme ve silme ile çizelge yazdırma işlemleri için bu düğmenin kullanıldığını hatırlatır. Düğme, Module1 içindeki Formac makrosuna bağlıdır ve kullanıcı formunu açar.
Sayfa2 Aylık Çizelge
Sayfa2, yazdırılan çizelgenin şablonudur. A2 hücresinde yıl, A3 hücresinde ay adı, B2 ve B3 hücrelerinde Adı Soyadı başlığı ile kişinin adı, D2 ve D3 hücrelerinde SSK No başlığı ile kişinin numarası yer alır. Ad ve numara hücreleri sarı dolguyla vurgulanmıştır. A4 ile A34 arasındaki açık yeşil hücreler 1'den 31'e kadar gün numaralarını taşır. Gün satırlarının karşısındaki B ve D sütunları boş bırakılmıştır; dosya bu alanlara herhangi bir hesaplama veya otomatik veri yazmaz.Sayfanın yazdırma alanı A2:D34 olarak tanımlanmıştır ve sayfa yapısı bu alanı genişlikte ve yükseklikte tek sayfaya sığdıracak biçimde ayarlanmıştır. Bu sayede 31 gün satırını içeren en uzun ay da tek bir kâğıda çıkar.
Sayfa3 Yıl ve Ay Listesi
Sayfa3, kullanıcı formundaki iki açılır listenin kaynağıdır. B sütununda 2011'den 2030'a kadar 20 yıl, C sütununda OCAK'tan ARALIK'a kadar 12 ay adı büyük harfle ve doğru Türkçe karakterlerle yazılıdır. Form açılırken makro bu sütunların son dolu hücresini bulur ve açılır listeleri yalnızca dolu aralıkla bağlar. Listeye yeni yıl eklemek için B sütununun altına değer yazılması yeterlidir; yeni yıl, form pencerenin kapatma düğmesiyle kapatılıp yeniden açıldığında ya da dosya yeniden açıldığında listede görünür. KAPAT düğmesi formu yalnız gizlediği için aynı oturumda listeyi yenilemez.Kayıt Formu ve Makro Akışı
Personel Kayıt Formu başlıklı pencerenin üst kısmında Adı Soyadı ve SSK No metin kutuları ile KAYDET düğmesi bulunur. Ortada Sayfa1 listesini sıra numarası, ad ve SSK numarasıyla gösteren sarı zeminli bir liste kutusu yer alır. Sağ tarafta seçim modu düğmesi, yıl ve ay açılır listeleri, Çizelge Yazdır düğmesi ve çoklu seçimin nasıl açılıp kapatılacağını anlatan bir yardım metni vardır. Alt kısımda KAYIT DEĞİŞTİR, SİL ve KAPAT düğmeleri bulunur. Metin kutularına yazılan değerler yazım sırasında otomatik olarak büyük harfe çevrilir.Kayıt Ekleme
KAYDET düğmesi önce iki alanın dolu olup olmadığını denetler. Adı Soyadı boşsa "Adı Soyadı kısmı boş", SSK No boşsa "SSK No kısmı boş" uyarısı verilir ve hiçbir şey yazılmaz. Alanlar doluysa kayıt, Sayfa1'in A sütunundaki son dolu satırın hemen altına eklenir; sıra numarası otomatik verilir. Ekleme, o anda hangi sayfa etkin olursa olsun her zaman Sayfa1'e yapılır. İşlemden sonra liste kutusu yenilenir ve metin kutuları temizlenir.Kayıt Düzeltme
Listeden bir kayıt seçildiğinde ad ve SSK numarası metin kutularına Sayfa1'den okunur. Değerler değiştirildikten sonra KAYIT DEĞİŞTİR düğmesine basıldığında onay sorusu gelir. Onay verilirse seçili kaydın hem Adı Soyadı hem SSK No hücresi güncellenir. Düzeltme için tek bir kaydın seçili olması zorunludur; çoklu seçim modunda birden fazla satır işaretliyse "Düzeltme için listeden tek bir kayıt seçilmelidir." uyarısı verilir. Ad veya SSK No alanı boş bırakılmışsa işlem yapılmaz.Kayıt Silme
SİL düğmesi de tek bir seçili kayıt ister ve onay sorusu sorar. Onay verilirse kaydın A:C hücreleri silinir, alttaki satırlar yukarı kaydırılır ve Sıra No sütunu 1'den başlayarak kesintisiz biçimde yeniden numaralandırılır. Böylece listede boşluk veya atlanmış sıra numarası kalmaz.Tekli ve Çoklu Seçim
Form ilk açıldığında liste kutusu tekli seçim modundadır ve düğme "Tekli seçim" yazısını taşır; KAPAT ile gizlenip aynı oturumda yeniden açılan form son seçilen modu korur. Düğmeye basıldığında yazı "Çoklu seçim" olarak değişir ve liste kutusunda birden fazla kişi işaretlenebilir. Aynı düğmeye tekrar basmak tekli seçime geri döndürür. Çoklu seçim özellikle birden fazla kişi için çizelge almak amacıyla kullanılır; düzeltme ve silme ise her iki modda da yalnızca tek kayıtla çalışır.Aylık Çizelge Yazdırma
Çizelge Yazdır düğmesi önce yıl ve ay seçimini denetler; seçim yoksa "Lütfen listeden yıl ve ay seçiniz." uyarısı verilir. Ardından en az bir personelin seçili olup olmadığına bakılır; seçim yoksa "Lütfen listeden en az bir personel seçiniz." uyarısı gösterilir. Denetimler geçildiğinde makro Sayfa2'nin mevcut başlık ve gün değerlerini yedekler, seçilen yılı ve ay adını şablona yazar ve seçilen ayın gün sayısını hesaplar. Gün satırlarına 1'den ayın son gününe kadar numara yazılır, kalan satırlar boşaltılır. Şubat ayı normal yıllarda 28, artık yıllarda 29 gün; nisan gibi aylar 30 gün; aralık gibi aylar 31 gün olarak doldurulur.Sonra seçili her personel için ad ve SSK numarası şablona aktarılır ve sayfa Module1 içindeki CizelgeYazdir yordamı üzerinden PrintOut komutuyla varsayılan yazıcıya gönderilir. Tüm kişiler bittiğinde Sayfa2 yedeklenen ilk hâline geri getirilir ve kaç personel için yazdırma yapıldığını bildiren bir mesaj gösterilir. Yazdırma doğrudan varsayılan yazıcıya yapılır; yazıcı seçimi Windows veya Excel tarafında önceden ayarlanmalıdır.
Bu Sürümde Yapılan Düzeltmeler
Dosyanın bu sürümü, özgün çalışmanın işlevleri korunarak gerçek Excel üzerinde tespit edilen hatalar giderilerek hazırlanmıştır. Başlıca düzeltmeler şunlardır:- Yıl ve ay açılır listeleri önceden boş satırlarla birlikte 130 öğe gösteriyordu. Artık yalnızca Sayfa3'teki dolu hücreler, yani 20 yıl ve 12 ay listelenir.
- Kayıt ekleme, düzeltme ve silme işlemleri eskiden o anda etkin olan sayfaya yazabiliyordu. Bütün yazma işlemleri artık doğrudan Sayfa1'i hedefler; başka bir sayfa açıkken form kullanıldığında Sayfa2 veya Sayfa3 bozulmaz.
- Düzeltme işlemi önceden yalnızca adı değiştiriyor, SSK numarasını güncellemiyordu. Artık ad ve SSK No birlikte güncellenir.
- Düzeltme ve silme için tek kayıt seçimi zorunlu hâle getirildi; çoklu seçimde birden fazla kayıt işaretliyse işlem açıklayıcı bir uyarıyla durdurulur.
- Yazdırma öncesinde yıl, ay ve personel seçimi denetlenir; eskiden seçim yapılmadığında hiçbir geri bildirim verilmiyordu.
- Çizelge yalnızca 28 gün satırı içeriyordu. Gün satırları 31'e tamamlandı ve seçilen ayın uzunluğuna göre otomatik doldurulur.
- Yazdırma sonrasında Sayfa2 son yazdırılan kişinin bilgileriyle kalıyordu. Şablon artık işlem sonunda ilk hâline döndürülür.
- Sayfa2'de yazdırma alanı tanımlanmamıştı; A2:D34 aralığı tek sayfaya sığacak şekilde ayarlandı.
- Yıl listesi 2011 ile 2015 arasıyla sınırlıydı; 2030'a kadar uzatıldı.
- Dosyada kalan forum sorusu metinleri ve geliştirme notu niteliğindeki açıklama kutuları kaldırıldı, yerine kısa ve nötr bir kullanım notu eklendi.
- Gerçek kişi adına benzeyen örnek kayıtlar ve yinelenen satır kaldırılarak listenin tamamı sentetik örnek verilerle değiştirildi.
- Çizelge düğmesinin yazısı, düğmenin yaptığı işle uyumlu olacak biçimde Çizelge Yazdır olarak güncellendi.
Nasıl Kullanılır
- Dosya masaüstü Excel ile açılır ve güvenlik uyarısında makroların etkinleştirilmesine izin verilir. Makrolar kapalıyken form açılmaz.
- Sayfa1'deki FORMU AÇ düğmesine basılarak Personel Kayıt Formu açılır.
- Örnek kayıtlar gerekmiyorsa listeden tek tek seçilip SİL düğmesiyle kaldırılabilir.
- Yeni personel için Adı Soyadı ve SSK No alanları doldurulup KAYDET düğmesine basılır.
- Bir kaydı değiştirmek için kayıt listeden seçilir, alanlar düzeltilir ve KAYIT DEĞİŞTİR düğmesiyle onay verilir.
- Çizelge almak için yıl ve ay açılır listelerden seçilir. Birden fazla kişi için çıktı alınacaksa seçim modu düğmesiyle çoklu seçime geçilir ve ilgili kişiler işaretlenir.
- Çizelge Yazdır düğmesine basıldığında her seçili kişi için bir sayfa varsayılan yazıcıya gönderilir ve işlem sonunda bilgi mesajı görüntülenir.
- İş bittiğinde KAPAT düğmesiyle form kapatılır ve değişikliklerin korunması için dosya kaydedilir.
Kimler İçin Uygun
Dosya, personel listesini basit bir Excel yapısında tutan ve her ay çalışan bazında matbu bir çizelge kullanan işletmeler için uygundur. Küçük atölyeler, şantiye büroları, şube ofisleri ve insan kaynakları biriminin yükünü hafifletmek isteyen idari ekipler, çok sayıda kişi için aynı düzendeki çizelgeyi tek işlemle yazdırabilir. VBA öğrenmek isteyen kullanıcılar için de kullanıcı formu, liste kutusu, açılır listeler, tekli ve çoklu seçim ile yazdırma akışının bir arada görüldüğü, okunabilir ve kısa bir örnek sunar.Kod açık ve modüler olduğu için çizelge şablonuna yeni sütun eklemek veya Sayfa3'teki yıl aralığını genişletmek gibi uyarlamalar kolayca yapılabilir. Bununla birlikte dosya bir bordro, puantaj veya devam takip sistemi değildir; bu tür hesaplamalar bekleniyorsa ayrı bir çözüm kullanılmalıdır.
Sonuç olarak bu çalışma, personel kayıtlarının düzenli bir listede tutulmasını ve aylık çizelgelerin ay uzunluğuna uygun gün satırlarıyla, tek sayfa düzeninde ve toplu biçimde yazdırılmasını sağlayan, hafif ve anlaşılır bir makrolu Excel aracıdır.