İzin Kağıdı Çalışması

Katılım
23 Kasım 2005
Mesajlar
41
Ýzin Kağıdı Çalışması

İzin adlı dosyamdaki bilgileri makro ile defter adlı sayfaya alt alta atıp orada depolamaktayım. Fakat birde bunların izin tarihlerine göre dağlımını yapmak gerekiyor. (Yıllık İzin, Mazeret, Hastalık ve Ücretsiz İzin) Defterin B3 sütündaki isimden başlamak üzere, ordaki bilgilerin iznin cinsi neyse (J2), izin dağılımında karşılık gelen isimlerden bulunarak iznin başlangıç tarihinden itibaren iznin cinsine göre (Yıllık İzin=Y;Mazeret İzni=M; Hastalık İzni=H, Ücretsiz İzin=Ü) parantez içindeki bilgilere göre denk gelen sütünlüra bilgileri izin gün sayısını da (Defter G3) dikkate alarak doldurması. Unutmadan aynı kişiye ikinci bir izin yazdığım zaman eğer o sutünlar izin dağlımı sayfasında işaretli ise beni uyarması mümkün mü?
 
Katılım
23 Kasım 2005
Mesajlar
41
Re: Ýzin Kağıdı Çalışması

Arkadaşlar cevap verecek, yardım edecek kimse yokmu, lütfen yardım edermisiniz?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sorunuzda açıklanması gereken yerler var, örneğin izin tarihlerine göre demişsiniz, bu tarihler K sütunundakilermidir, Ayrıca izin tipine göre nasıl listeleneceği çok açık değil, ayrıca bu listeleme nereye yapılacaktır. Gerekirse bir örnek uygulama yaparak onun üzerinden sorunuzu yöneltin.
 
Katılım
23 Kasım 2005
Mesajlar
41
Ýzin Kağıdı Çalışması

İzin kağıdında bir kaydet butonu oluşturup izni yazdıktan sonra kaydet butonuna bastığımızda izni yazdığımız personele ait olan bilgilerin izin dağılımındaki personel listesinden bulunarak yıllık izin ise y olarak iznin başlangıç tarihinden itibaren işaretleyip personelin izin gün sayısını dikkate alarak aşağıda örnekteki gibi dolduracak. izin türünü izin formunun üst kısmındaki gri renkli boşluklardaki hangi kare dolu ise onun ilk baş harfini izin dağılımındaki listeye işaretleyecek.( yıllık izinise =Y mazeret ise =M Hastalık ise =H Ücretsiz ise = Ü )

Ã?RNEK
personel adı izin başlama tarihi izin türü
abdullah şen 01.01.2005 yıllık , mazeret. hastalık,ücretsiz

izin gün sayısı
5 gün


01.Oca Y
02.Oca Y
03.Oca Y
04.Oca Y
05.Oca Y
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin.

[vb:1:2fb6d8376c]Sub listeyeaktar()
On Error GoTo 10
Set s1 = Sheets("izin")
Set s2 = Sheets("izin dağılımı")
If s1.[a12] <> 0 Then yaz = "Y"
If s1.[d12] <> 0 Then yaz = "M"
If s1.[f12] <> 0 Then yaz = "H"
If s1.[h12] <> 0 Then yaz = "Ü"
ad = s1.[a17].Value
bastar = s1.[f17]
sure = s1.[o17] - bastar
bulad = WorksheetFunction.Match(ad, s2.[d1:iv1], 0) + 3
bultarih = WorksheetFunction.Match(s1.[f17], s2.[b9:b65536], 0) + 7
For a = 1 To sure
s2.Cells(bultarih + a, bulad) = yaz
Next
MsgBox "KAYIT YAPILDI"
Exit Sub
10 MsgBox "VERİ BULUNAMADI"
End Sub[/vb:1:2fb6d8376c]
 
Katılım
23 Kasım 2005
Mesajlar
41
Ýzin Kağıdı Çalışması

Merhabalar
Tam istediğim gibi olmuş. Zaman ayırdığınız için teşekkür ederim.
 
Katılım
23 Kasım 2005
Mesajlar
41
Re: Ýzin Kağıdı Çalışması

Merhabalar
Affınıza sığınarak birşey daha sormak istiyorum. Kodlar çalışıyor. Fakat bizim kurumumuzdaki personel sayısı 400, excelde ise sadece 256 adet sütun bulunmakta. Bu yüzden personellerin 145 tanesinin bilgilerini izin dağılımı sayfasına atamıyorum. Bu konuda nasıl bir çözüm yolu önerirsiniz. Þimdiden teşekkürler
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Yapılacak tek şey devamını yeni bir sayfada devam ettirmektir.
 
Katılım
23 Kasım 2005
Mesajlar
41
Ýzin Kağıdı Çalışması

İzin dağılımı-1 diye yeni bir sayfa açmış olsam aynı makro ile personel bilgilerini atmak mümkün olurmu. İzin dağılımı sayfasındaki yoksa izin dağılımı-1 sayfasına atması gibi. Makroda değişiklik yapabilirmisiniz.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Diğer sayfaya "izin dağılımı-1 ismini vererek aşağıdakikodu kullanabilirsiniz.

[vb:1:646f7d8ead]Sub listeyeaktar()
On Error GoTo 10
Set s1 = Sheets("izin")
Set s2 = Sheets("izin dağılımı")
If s1.[a12] <> 0 Then yaz = "Y"
If s1.[d12] <> 0 Then yaz = "M"
If s1.[f12] <> 0 Then yaz = "H"
If s1.[h12] <> 0 Then yaz = "Ü"
ad = s1.[a17].Value
bastar = s1.[f17]
sure = s1.[o17] - bastar
20 bulad = WorksheetFunction.Match(ad, s2.[d1:iv1], 0) + 3
bultarih = WorksheetFunction.Match(s1.[f17], s2.[b9:b65536], 0) + 7
For a = 1 To sure
s2.Cells(bultarih + a, bulad) = yaz
Next
MsgBox "KAYIT YAPILDI"
Exit Sub
10 Set s2 = Sheets("izin dağılımı-1")
GoTo 20
End Sub[/vb:1:646f7d8ead]
 
Katılım
23 Kasım 2005
Mesajlar
41
Ýzin Kağıdı Çalışması

Leventm Merhabalar
Bir üsteki cevabınızda vermiş olduğunu kod ile verileri listeye aktarıyorum. Fakta sizden mümkünse bir ilave yapmanızı rica edeceğim. Tabiki mümkünse. Aynı dosyanın içine izin takip cetveli diye bir sayfa daha açtım. Burada istediğim aynı makroya ilave yapılıp, "izin" sayfasının "a17" sütununa yazmış olduğum personel adının izin kullanma cetvelinden bulunup izin sayfasının "o19" sütündaki gün sayısının ve "f17" sütünundaki izin tarihinin iznin cinsine göre ilgili sütuna sırayla kaydedilmesi. Yıllık izin ise İzin Kullanma Cetveli'!$L$5:$AK$504 aralığına; hastalık izni ise 'İzin Kullanma Cetveli'!$AL$6:$BI$504, mazaret izni ise 'İzin Kullanma Cetveli'!$BL$5:$BW$504,
ücretsiz izin ise 'İzin Kullanma Cetveli'!$BX$5:$CC$504 sütunlarına işlemesi. Þimdiden teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodu aşağıdaki ile değiştirin.

[vb:1:173536c1ce]Sub listeyeaktar()
On Error GoTo 10
Set s1 = Sheets("izin")
Set s2 = Sheets("izin dağılımı")
Set s3 = Sheets("İzin Takip Cetveli")
If s1.[a12] <> 0 Then
yaz = "Y"
sut = 12
End If
If s1.[d12] <> 0 Then
yaz = "M"
sut = 38
End If
If s1.[f12] <> 0 Then
yaz = "H"
sut = 64
End If
If s1.[h12] <> 0 Then
yaz = "Ü"
sut = 76
End If
ad = s1.[a17].Value
bastar = s1.[f17]
gun = s1.[o19]
say = WorksheetFunction.Match(s1.[a17], s3.[c5:c65536], 0) + 4
If s3.Cells(say, sut) <> 0 Then sut = s3.Cells(say, sut).End(xlToRight).Column + 1
s3.Cells(say, sut) = gun
s3.Cells(say, sut + 1) = bastar
sure = s1.[o17] - bastar
20 bulad = WorksheetFunction.Match(ad, s2.[d1:iv1], 0) + 3
bultarih = WorksheetFunction.Match(s1.[f17], s2.[b9:b65536], 0) + 7
For a = 1 To sure
s2.Cells(bultarih + a, bulad) = yaz
Next
MsgBox "KAYIT YAPILDI"
Exit Sub
10 Set s2 = Sheets("izin dağılımı-1")
GoTo 20
End Sub[/vb:1:173536c1ce]
 
Katılım
23 Kasım 2005
Mesajlar
41
Ýzin Kağıdı Çalışması

Leventm Merhabalar
Kodlar da yalnız bir eksiklik var aynı kişiye ikinci bir izin yazdığım zaman ilk yazdığım izni siliyor onun üstüne yazıyor. Benim istediğim aynı kişiye ikinci bir izin yazıldığında 2. izin sütununa yazması ve başka bir izini yazdığımda 3 izin, 4 izin vb. diye devam etmesi. Tabiki bunlar hastalık, mazaret ve ücretsiz içinde geçerli
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Yukarıdaki kodu yeniledim. Tekrar deneyin.
 
Katılım
23 Kasım 2005
Mesajlar
41
Ýzin Kağıdı Çalışması

Leventm Merhabalar
Ã?ncelikle kodlar için teşekkür ediyorum. Mümkünse sizden bir yardım daha rica edeceğim.İzin dağılımı ve izini dağılımı-1 sayfasındaki 2005 ve 2006 yıllarına personel izinleri izin kağıdı sayfamda hangi personel seçili ise izin kağıdındaki izin durumu sutünunundan hangi yıldan izni var ise ona göre eğer 2005 yılı izni ise 2005 yılından 30 gün senelik izni vardır diye yazması. Eğer 2006 var ise aynı şeklide yukardaki 2005 yerine 2006 yazılıp diğerlerinin aynı şekilde yazılması. Birde tabiki her iki yıldan izni var ise 2005 yılından 30 gün ve 2006 yılından 30 gün olmak üzere toplam 60 gün izni vardır diye yazması münkünmü. Tabiki izin günleri değiştikçe izin gün sayılarınında otomatik olarak değişmesi gerekli. Þimdiden teşekkürler.
 
Katılım
8 Haziran 2007
Mesajlar
100
Excel Vers. ve Dili
exell versiyon
ya arkadaşlar ustalar,
dosyayı paylaşmış olsanız belki bizimde işimize yarar :))
 
Üst