Personel izin aylık icmalini yapmak

Katılım
26 Nisan 2009
Mesajlar
156
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
26-03-2024
arkadaşlar örnek attığım excelde personelin izin rapor ve diğer durumlarını ilgili ayın icmalinde örnek yaptığımdaki gibi günlerdeki çentiklerin silinmesini ve hücrenin boyanmasını istiyorum. bu işlemi otomatik yapmasını istiyorum yardım ederseniz çok sevinirim...
Benım ısıme yarayan su anlatayım sıze.. nobet kısmındakı ısımler ve ızın ve rapor tarıhlerını gırdıgımde.. ornek personel 11.01.2016 da ızıne cıkmıs 17.01.2016 da baslamıs. bu personelin icmal bölümünde 6 gunluk centıgını kaldırmak ıstıyorum. yanı ayın 11 ile 16 sı arasının çentıgın sılınıp boyanmasını ıstıyorum. ayrıca nobet kısmındakı ısımlerınde otomatık ıcmale gcemsını ıstıyorum yardımcı olursanız cok sevınırım

http://s8.dosya.tc/server/izhbwl/nobet_icmali.rar.html
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
NÖBET sayfasındaki tarihlerin ay ve yılı icmal sayfanız ile aynı döneme denk gelmek ve
NÖBET sayfasında son dolu satırdaki gibi bir hücreye 1'den fazla tarih yazmamak
(aynı kişiye 1'den fazla başlangıç ve bitiş tarihi yazmak yerine herbir izin/rapor için bir satır olacak şekilde veri girişi yapmanız gerekir)
koşuluyla aşağıdaki kod işinizi görecektir.

-- alt taraftan NÖBET sayfasının adına fareyle sağ tıklayın,
-- açılan menüden KOD GÖRÜNTÜLEyi seçin,
-- açılan ekranın sağ tarafındaki boş alana aşağıdaki kod'u yapıştırın,
-- sayfaya bir düğme/şekil ekleyin,
-- bu düğmeye/şekle fareyle sağ tıklayın ve MAKRO ATA'yı seçin,
-- açılan küçük ekranda ÇENTİK_SİL_BRN'yi seçip işlemi onaylayın,
-- bu düğmeye/şekile fareyle tıklayın.
Kod:
[FONT="Trebuchet MS"][COLOR="Blue"][B]Sub ÇENTİK_SİL_BRN()[/B][/COLOR]
Dim n, i As Worksheet: Set n = Sheets("NÖBET"): Set i = Sheets("İCMAL")
For brn = 2 To n.[F65536].End(3).Row
If n.[E65536].End(3).Row <> n.[F65536].End(3).Row Or n.[B65536].End(3).Row <> n.[E65536].End(3).Row Then GoTo 10
If WorksheetFunction.CountIf(i.Range("B:B"), n.Cells(brn, 2)) = 0 Or n.Cells(brn, 2) = "" Then GoTo 10
    brnsat = WorksheetFunction.Match(n.Cells(brn, 2), i.Range("B:B"), 0)
    ilksut = Day(n.Cells(brn, 5)) + 4
    sonsut = Day(n.Cells(brn, 6)) + 3
    i.Range(i.Cells(brnsat, ilksut), i.Cells(brnsat, sonsut)) = ""
10: Next
MsgBox "ÇENTİKLER KALDIRILDI"
[B][COLOR="blue"]End Sub[/COLOR][/B][/FONT]
 
Katılım
26 Nisan 2009
Mesajlar
156
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
26-03-2024
Ömer bey bir personelin ay içerisinde birden fazla mazereti oluyor senelık ızın rapor gıbı bunların aynı sutun uzeınden sılınmesı lazım mumkunmu acaba. yaptıgım ornekte 3 sahısda olduğu gibi..
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Örnek belge NÖBET sayfasında ALİ KEMAL isminin bulunduğu satırda bir hücreye iki tarih girilmiş durumda.
Önceki cevabımdaki uyarı bunun içindi zaten.
Aynı hücreye iki tarih yerine; bir satırda izin başlangıç ve bitiş tarihini, aynı ismi yazarak diğer bir satırda da rapor başlangıç ve bitiş tarihini yazarsanız verdiğim kod işlem yapacaktır.
Önce yukarıdaki şekilde verilerinizi düzeltin, sonra İCMAL sayfasında boş olan hücrelere de 1 yazın ve kod'u çalıştırın.
 
Katılım
26 Nisan 2009
Mesajlar
156
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
26-03-2024
Ömer bey değiğiniz komutları yapamadım rica etsem siz yapıp buraya eklermisiniz... tesekkurler yardımlarınız ıcın
 
Katılım
26 Nisan 2009
Mesajlar
156
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
26-03-2024
ömer bey yardımlarınızdan dolayı tesekkurler. tarıfınızı uygulayamadım excel de.. Benım ısıme yarayan su anlatayım sıze.. nobet kısmındakı ısımler ve ızın ve rapor tarıhlerını gırdıgımde.. ornek personel 11.01.2016 da ızıne cıkmıs 17.01.2016 da baslamıs. bu personelin icmal bölümünde 6 gunluk centıgını kaldırmak ıstıyorum. yanı ayın 11 ile 16 sı arasının çentıgın sılınıp boyanmasını ıstıyorum. ayrıca nobet kısmındakı ısımlerınde otomatık ıcmale gcemsını ıstıyorum yardımcı olursanız cok sevınırım..​
 
Son düzenleme:

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Ömer Bey cevabı vermiş sadece size deneni yapmak.
"aynı kişiye 1'den fazla başlangıç ve bitiş tarihi yazmak yerine her bir izin/rapor için bir satır olacak şekilde veri girişi yapmanız gerekir"
Yani Ali Kemal için senelik izin ve rapor verilerini alt alta yazın size önerilen kodu kullanın.
 
Katılım
26 Nisan 2009
Mesajlar
156
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
26-03-2024
evet hocam aynen denıyorum fakat calısmıyor malesef cok lazım acıl.. sıze zahmet sız denermısınız calısıyormu yapıp yuklersenız cok memnun olurum.. nöbet lıstesındekı ısımlerde icamale gelmıyor gunlerdekı centıklerde kalkmıyor malesef..
 
Katılım
26 Nisan 2009
Mesajlar
156
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
26-03-2024
cookkk tesekkurler ali bey aynı satıra gırılınce yapamaz mıyız bunu... bırde nöbete yenı yazdıgım ısımler icmal kısmına gecmıyor onuda yapabılırmısınız sıze zahmet olacak..
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba Sayın muzo696.

Sayın alicimri'ye de teşekkürler RENK ilavesini yapmış.

Konu sahibi anladığım kadarıyla Ms.Excel ile uğraşmaya yeni başlamış bir üye gibi geldi bana.
İsim aktarmanın ardından eminim ki "İCMAL sayfasındaki AY adını değiştirdiğimde ne olacak/şu aydaki tarihleri dikkate almaması lazım, hücrelere izin için İ yazılsın, rapor için R yazılsın, o ismin izin hakkı dolduğunda engel olsun/uyarsın vs.vs...?" şeklinde ilave sorular gelecek diye tahmin ediyorum.

Sayın muzo696'ya önerim;
-- öncelikle sayfaları detaylı bir şekilde düşünerek tasarlaması,
-- biraz mesafe aldıktan sonra takılınan konuda destek istemesi,
-- bundan da önce forumda örneğin PUANTAJ diye arama yaparak bulacağı çok sayıda örneklerden yararlanarak kendi belgesini oluşturması
-- veya beğendiği bir örnek varsa onu kendisine uyarlamaya çalışması
takılınan nokta olursa tekrar destek istemesi yönünde olacak.
 
Katılım
26 Nisan 2009
Mesajlar
156
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
26-03-2024
Ömer bey desteklerinizden dolayı tesekkurler forum harika...
 

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Ömer Beyin kodlarına ekleme ile istediğiniz şekli aldı. Kontrol ediniz.
Kod:
Sub ÇENTİK_SİL_BRN()
Dim n, i As Worksheet
Set n = Sheets("NÖBET")
Set i = Sheets("İCMAL")
For brn = 2 To n.[F65536].End(3).Row
If n.[E65536].End(3).Row <> n.[F65536].End(3).Row Or n.[B65536].End(3).Row <> n.[E65536].End(3).Row Then GoTo 10
If WorksheetFunction.CountIf(i.Range("B:B"), n.Cells(brn, 2)) = 0 Or n.Cells(brn, 2) = "" Then GoTo 10
    brnsat = WorksheetFunction.Match(n.Cells(brn, 2), i.Range("B:B"), 0)
   m = Len(n.Cells(brn, 5))
   If m = 10 Then
    ilksut = Day(n.Cells(brn, 5)) + 4
    sonsut = Day(n.Cells(brn, 6)) + 3
    GoTo 5
    Else
    a = Mid(n.Cells(brn, "E"), 1, 10)
    b = Mid(n.Cells(brn, "F"), 1, 10)
    c = Mid(n.Cells(brn, "E"), 12, 10)
    d = Mid(n.Cells(brn, "F"), 12, 10)
    ilksut = Day(a) + 4
    sonsut = Day(b) + 3
    ilksut1 = Day(c) + 4
    sonsut1 = Day(d) + 3
 i.Range(i.Cells(brnsat, ilksut), i.Cells(brnsat, sonsut)) = ""
 i.Range(i.Cells(brnsat, ilksut1), i.Cells(brnsat, sonsut1)) = ""
 i.Range(i.Cells(brnsat, ilksut), i.Cells(brnsat, sonsut)).Interior.ColorIndex = 27
 i.Range(i.Cells(brnsat, ilksut1), i.Cells(brnsat, sonsut1)).Interior.ColorIndex = 27
   GoTo 10
    End If
5:    i.Range(i.Cells(brnsat, ilksut), i.Cells(brnsat, sonsut)) = ""
      i.Range(i.Cells(brnsat, ilksut), i.Cells(brnsat, sonsut)).Interior.ColorIndex = 27
10: Next
MsgBox "ÇENTİKLER KALDIRILDI"
End Sub
 
Son düzenleme:
Katılım
26 Nisan 2009
Mesajlar
156
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
26-03-2024
vardar07 hocam harıka olmus elıne saglık harıkasınız ancak sılınen sutunları boyama gelmıyor ve nobet kısmına yazdıgım sıcıl ve ad soyad icmal listesine otomatik atmıyor.. bırde benım sablonda adsoyad kısmının onune sıcıl dıye bır sutun acmam lazım lınk atsam ona uygulayıp yukleyebılırmısınız...

http://s6.dosya.tc/server5/s68ulr/nobet_icmali.xlsx.html son sablon bu abım..
 

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Yapmak istediklerinizi kuyruk tarak sorarsanız ha bire kod düzenlemesi yapmak gerekir. Lütfen dosyanızı tam tasarlayıp öyle konu açınız.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

11 numaralı cevaptaki önerilerimi tekrar okuyunuz.

Son bir destek.
Dosyanın son haline göre Sayın vardar'ın ilavelerde bulunduğu
(Sayın vardar halletmiş olmasına rağmen hala aynı düşüncedeyim; bir hücreye bir veri yazılmalıdır)
kod'da kırmızı renkli satırdan sonra, aşağıdaki mavi renkli satırları ekleyerek sonuç alabilirsiniz.
Kod:
[COLOR="Red"]For brn = 2 To n.[F65536].End(3).Row[/COLOR]
[COLOR="Blue"]    If WorksheetFunction.CountIf(i.Range("C:C"), n.Cells(brn, 3)) = 0 Then
        i.Cells(i.[C65536].End(3).Row + 1, 3) = n.Cells(brn, 3)
        i.Cells(i.[D65536].End(3).Row + 1, 4) = n.Cells(brn, 4)
    End If[/COLOR]
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Son düzenleme:
Katılım
31 Ocak 2012
Mesajlar
2,430
Excel Vers. ve Dili
Excel 2010 , Türkçe
Altın Üyelik Bitiş Tarihi
24.01.2019
selam,
teşekkürler Ömer Bey,
gece zaten tüm mesajları okuduktan sonra böyle bir şey yapmaya karar verdim.
veri sayfasının nasıl olabileceği konusunda fikir vermekti amacım. Israrcı olunmaması yönünde de tabi ki...
kolay gelsin...
 
Katılım
26 Nisan 2009
Mesajlar
156
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
26-03-2024
Arkadaşlar öncelikle bu forumdaki arkadaşların yardımlarından dolayı çok tesekkur ederım.. Yuklemıs olduğum dosyada personellerin izinliler raporlular sayfasında personellerin verilerini, başlama ve bitiş tarihlerini girip bu listedeki isimlerin icmal sayfasına otomatik gecmesini ve günler kısmında çentiklerin silinerek boyanmasını istiyorum tam olarak.Bu konuda yardımcı olmak ısteyen hocalarım oldu kod paylastılar ancak şablon biraz değişti ve son şablonum bu. Ekleyeceğim kodları bu şablona göre yapmak istediklerimi ayarlayabilecek arkadaşım olursa çok sevinirim.. şimdiden çok teşekkür ederim.
.
http://s8.dosya.tc/server/kd9rr7/PERSONEL_ICMAL_PUANTAJ.xls.html

ESKİ ŞABLONUN KODLARI

Sub ÇENTİK_SİL_BRN()
Dim n, i As Worksheet
Set n = Sheets("NÖBET")
Set i = Sheets("İCMAL")
For brn = 2 To n.[F65536].End(3).Row
If n.[E65536].End(3).Row <> n.[F65536].End(3).Row Or n.[B65536].End(3).Row <> n.[E65536].End(3).Row Then GoTo 10
If WorksheetFunction.CountIf(i.Range("B:B"), n.Cells(brn, 2)) = 0 Or n.Cells(brn, 2) = "" Then GoTo 10
brnsat = WorksheetFunction.Match(n.Cells(brn, 2), i.Range("B:B"), 0)
m = Len(n.Cells(brn, 5))
If m = 10 Then
ilksut = Day(n.Cells(brn, 5)) + 4
sonsut = Day(n.Cells(brn, 6)) + 3
GoTo 5
Else
a = Mid(n.Cells(brn, "E"), 1, 10)
b = Mid(n.Cells(brn, "F"), 1, 10)
c = Mid(n.Cells(brn, "E"), 12, 10)
d = Mid(n.Cells(brn, "F"), 12, 10)
ilksut = Day(a) + 4
sonsut = Day(b) + 3
ilksut1 = Day(c) + 4
sonsut1 = Day(d) + 3
i.Range(i.Cells(brnsat, ilksut), i.Cells(brnsat, sonsut)) = ""
i.Range(i.Cells(brnsat, ilksut1), i.Cells(brnsat, sonsut1)) = ""
i.Range(i.Cells(brnsat, ilksut), i.Cells(brnsat, sonsut)).Interior.ColorIndex = 27
i.Range(i.Cells(brnsat, ilksut1), i.Cells(brnsat, sonsut1)).Interior.ColorIndex = 27
GoTo 10
End If
5: i.Range(i.Cells(brnsat, ilksut), i.Cells(brnsat, sonsut)) = ""
i.Range(i.Cells(brnsat, ilksut), i.Cells(brnsat, sonsut)).Interior.ColorIndex = 27
10: Next
MsgBox "ÇENTİKLER KALDIRILDI"
End Sub,

Bu kodlar eski şablonda benim isteğimi karşılıyordu ancak sadece çentikleri boyamıyordu.
Bu kodları yeni şablona düzenleyecek arkadaşıma minnettar olurum..
 
Son düzenleme:
Üst