balanar
Altın Üye
- Katılım
- 22 Şubat 2021
- Mesajlar
- 347
- Excel Vers. ve Dili
- Excel 2007
- Altın Üyelik Bitiş Tarihi
- 09-03-2027
sizin hakkınızı ödemek zor. Çok teşekkür ediyoruz yusuf hocamSet s1 ve Set s2 ile Liste ve belge sayfalarına kısa isim veriyoruz.
son değişkeni Liste sayfasında A sütunundaki son dolu satır numarasını buluyor.
D12:H18 aralığındaki verileri siliyoruz, bunu D12 değil E12 olarak düzeltmeliyiz.
For next döngüsünde kisi değişkenine 2'den son değişkenine kadar değer vermesini istiyoruz
Liste sayfasındaki her satır ayrı ayrı kontrol ediliyor, eğer E sütunu doluysa İf koşuluyla işlem yaptırıyoruz
Application.enableevents=false ile sayfa olaylarına bağlı makroların çalışmasını geçici olarak durduruyoruz, makro sonunda tekrar aktifleştireceğiz. Bunu yapmazsak her kişi değişiminde sayfada mevcut kodlar çalışır.
Belge sayfasına kişinin ismini getiriyoruz. TC kimlik no, unvan ve adres bilgisi sayfadaki DÜŞEYARA formülleriyle getiriliyor.
Burdaki ikinci clearcontents satırı fazlalık, silebilirsiniz.
13:19 satırlardaki gizli satırları açıyoruz.
sonsut değişkeniyle ilgili kişinin liste sayfasındaki son dolu sütun numarasını buluyoruz.
a değişkenine 12 değerini veriyoruz, çünkü görev zamanlarını yerleştirmeye 12. satırdan yani Belge sayfasındaki E12 hücrseinden başlayacağız.
İkinci bir for next döngüsüyle kişinin liste sayfasındaki görevlerini çekmeye başlıyoruz. Burda step 3 kullandık, çünkü her görev; tarih, başlama ve bitiş olmak üzere 3 sütundan oluşuyor.
For next döngüsü içinde kişinin görev bilgilerini her satırda bir gün olacak şekilde belge sayfasına aktarıyoruz ve sonraki satıra geçmek için a değerini bir arttırıyoruz.
Bu döngü bitince boş satırları gizlemek için üçüncü bir for next döngüsü kullanıyoruz. Belge sayfasında E sütununda tarih yoksa o satırı gizliyoruz.
s2.printout ile belgesi hazırlanan kişiye ait belgeyi yazıdrıyoruz ve sonraki kişiye geçiyoruz.