Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Diğer Excel Soruları
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Diğer Excel Soruları Yukarıdaki başlıklara uymayan Excel sorularınızı bu bölüme gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 14-12-2017, 14:30   #1
Garuramon
Altın Üye
 
Giriş: 02/12/2013
Şehir: istanbul
Mesaj: 174
Excel Vers. ve Dili:
Microsoft Office Professional Plus 2013-türkçe
Varsayılan 16 Kişilik vardiya planı hk.

Merhaba Arkadaşlar,

EK' li dosyada görüldüğü üzere 16 kişilik vardiya planına ihtiyacım var.

Şartlar:

1- A personeli sadece gündüz çalışır ve pazar günleri çalışmaz
2-M personeli sadece gündüz, 4 gün gündüz 2 gün izin şeklinde çalışır.
3-Diğer personeller 2 gün gündüz, 2 gün gece, 2 izin şeklinde çalışır.
4-B, F, İ personellerine Vardiya Amiri olması nedeniyle aynı günler nöbet yazılmaz.
5-A personeli hariç diğer personeller izin günlerinin dışında ayda 1 gün ekstra izin kullanacak.

Örneklendirirsek;

30 gün çeken aylarda personel 2 gün gündüz, 2 gün gece, 2 izin sisteminde çalıştığı vakit ayda 20 gün çalışır 10 gün izin kullanır.
her bir çalışma günü 12 saattir ancak yemek molası (yarım saat) ve ara dinlenmeler(15 er dakika 2 defa ) çıktıktan sonra 12-1=11 saat dikkate alınır.
11 saat ile ayda çalışmış olduğu günler çarpıldığında

20x11=220 saat eder

30 gün çeken aylarda iş kanuna göre personel aylık 195 saat' den fazla çalıştırılsa mesai verilmek zorunda olunması nedeni ile mesai saatini dengelemek adına ayda 1 gün ekstra izin verilir 19x11=209 saat 209-195=14 saat aylık fazla mesai yapmış olur.

Yukarıda belirtiğim çalışma dikkate alınarak yapmak isteğim çalışma;

Ayın;
14 günü ( gündüz 6 kişi, gece 5 kişi çalışma )
16 günü ( gündüz 5 kişi,gece 5 kişi çalışma )

Yardımcı olabilir misiniz.
Eklenmiş Dosyalar
Dosya Türü: xlsx Kitap2.xlsx (97.4 KB, 16 Görüntülenme)
__________________
Bana 1 kod öğretene 40 yıl duacı olurum.
Excel bir kuşsa eğer, onun kanatları da sizin beyninizdir. Kanat çırpmadıkça, o kuş hiçbir zaman göklere havalanamaz! |

Sayfada Boş Satırları Silmek:
Sütunu Seçiniz, F5, Özel, Boşluklar, Tamam,
Sağ Klik, Sil, Tüm Satır, Tamam

Bu mesaj en son " 14-12-2017 " tarihinde saat 15:47 itibariyle Garuramon tarafından düzenlenmiştir....
Garuramon Çevrimdışı   Alıntı Yaparak Cevapla
Eski 14-12-2017, 19:43   #2
YUSUF44
Destek Ekibi
 
YUSUF44 kullanıcısının avatarı
 
Giriş: 04/01/2006
Şehir: Manisa, Kula
Mesaj: 6,508
Excel Vers. ve Dili:
İş : Ofis 2016 - Türkçe Ev: Ofis 2016 - Türkçe
Varsayılan

Saat hesabı ve ekstra aylık izin dışındaki istekleriniz için aşağıdaki kodu bir modüle kopyalayıp deneyiniz:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub vardiya()
[F14:AJ29] = ""
For kişi = 14 To 29
    If Cells(kişi, "D") = "A" Then
        For gün = 6 To 36
            If Cells(13, gün) <> "" Then
                If WorksheetFunction.Weekday(Cells(13, gün), 2) <> 7 Then
                    Cells(kişi, gün) = 3
                Else
                    Cells(kişi, gün) = "HT"
                End If
            End If
        Next
    ElseIf Cells(kişi, "D") = "M" Then
        For gün = 6 To 36 Step 6
            If Cells(13, gün) <> "" Then Cells(kişi, gün) = 1
            If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 1
            If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 1
            If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 1
            If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = "HT"
            If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = "HT"
        Next
    ElseIf Cells(kişi, "D") <> "B" And Cells(kişi, "D") <> "F" And Cells(kişi, "D") <> "İ" Then
        For gün = 6 To 36 Step 6
            If kişi Mod 3 = 0 Then
                If Cells(13, gün) <> "" Then Cells(kişi, gün) = 1
                If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 1
                If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 2
                If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 2
                If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = "HT"
                If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = "HT"
            ElseIf kişi Mod 3 = 1 Then
                If Cells(13, gün) <> "" Then Cells(kişi, gün) = 2
                If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 2
                If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = "HT"
                If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = "HT"
                If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 1
                If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 1
            ElseIf kişi Mod 3 = 2 Then
                If Cells(13, gün) <> "" Then Cells(kişi, gün) = "HT"
                If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = "HT"
                If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 1
                If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 1
                If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 2
                If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 2
            End If
        Next
    Else
        For gün = 6 To 36 Step 6
            If gün Mod 3 = 0 Then
                If Cells(kişi, "D") = "B" Then
                    If Cells(13, gün) <> "" Then Cells(kişi, gün) = 1
                    If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 1
                    If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 2
                    If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 2
                    If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = "HT"
                    If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = "HT"
                ElseIf Cells(kişi, "D") = "F" Then
                    If Cells(13, gün) <> "" Then Cells(kişi, gün) = 2
                    If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 2
                    If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = "HT"
                    If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = "HT"
                    If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 1
                    If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 1
                ElseIf Cells(kişi, "D") = "İ" Then
                    If Cells(13, gün) <> "" Then Cells(kişi, gün) = "HT"
                    If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = "HT"
                    If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 1
                    If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 1
                    If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 2
                    If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 2
                End If
            ElseIf gün Mod 3 = 1 Then
                If Cells(kişi, "D") = "B" Then
                    If Cells(13, gün) <> "" Then Cells(kişi, gün) = 2
                    If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 2
                    If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = "HT"
                    If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = "HT"
                    If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 1
                    If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 1
                ElseIf Cells(kişi, "D") = "F" Then
                    If Cells(13, gün) <> "" Then Cells(kişi, gün) = "HT"
                    If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = "HT"
                    If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 1
                    If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 1
                    If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 2
                    If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 2
                ElseIf Cells(kişi, "D") = "İ" Then
                    If Cells(13, gün) <> "" Then Cells(kişi, gün) = 1
                    If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 1
                    If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 2
                    If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 2
                    If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = "HT"
                    If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = "HT"
                End If
            ElseIf gün Mod 3 = 2 Then
                If Cells(kişi, "D") = "B" Then
                    If Cells(13, gün) <> "" Then Cells(kişi, gün) = "HT"
                    If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = "HT"
                    If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 1
                    If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 1
                    If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 2
                    If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 2
                ElseIf Cells(kişi, "D") = "F" Then
                    If Cells(13, gün) <> "" Then Cells(kişi, gün) = 1
                    If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 1
                    If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 2
                    If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 2
                    If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = "HT"
                    If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = "HT"
                ElseIf Cells(kişi, "D") = "İ" Then
                    If Cells(13, gün) <> "" Then Cells(kişi, gün) = 2
                    If Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 2
                    If Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = "HT"
                    If Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = "HT"
                    If Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 1
                    If Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 1
                End If
            End If
        Next
    End If
Next
End Sub
__________________


Sorularınızı örnek dosyayla desteklemeniz çözüme ulaşmanızı kolaylaştırır.

Altın Üye olmanızı öneririm. Altın Üye değilseniz dosyanızı dosya yükleme sitelerinden birine yükleyip linkini paylaşabilirsiniz.
YUSUF44 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 15-12-2017, 14:55   #3
Garuramon
Altın Üye
 
Giriş: 02/12/2013
Şehir: istanbul
Mesaj: 174
Excel Vers. ve Dili:
Microsoft Office Professional Plus 2013-türkçe
Varsayılan

Yusuf Bey Merhaba,

Kusura bakmayın biraz teknoloji özürlüyüm.Modül eklemeyi tam olarak bilmiyorum örnek dosyada uygun yere ekler misiniz, yada bana öğretir misiniz.
__________________
Bana 1 kod öğretene 40 yıl duacı olurum.
Excel bir kuşsa eğer, onun kanatları da sizin beyninizdir. Kanat çırpmadıkça, o kuş hiçbir zaman göklere havalanamaz! |

Sayfada Boş Satırları Silmek:
Sütunu Seçiniz, F5, Özel, Boşluklar, Tamam,
Sağ Klik, Sil, Tüm Satır, Tamam
Garuramon Çevrimdışı   Alıntı Yaparak Cevapla
Eski 15-12-2017, 15:34   #4
Garuramon
Altın Üye
 
Giriş: 02/12/2013
Şehir: istanbul
Mesaj: 174
Excel Vers. ve Dili:
Microsoft Office Professional Plus 2013-türkçe
Varsayılan

Alıntı:
Garuramon tarafından gönderildi Mesajı Görüntüle
Yusuf Bey Merhaba,

Kusura bakmayın biraz teknoloji özürlüyüm.Modül eklemeyi tam olarak bilmiyorum örnek dosyada uygun yere ekler misiniz, yada bana öğretir misiniz.
Yusuf Bey,

Formda eski konuları karıştırdım ve nasıl yapılacağını öğrendim.Kodda benim gördüğüm bir kaç sorun var desteğinizi rica ediyorum.

1-A personeli ayın tamamı gündüz çalışacak ancak pazar günü çalışmayacak .
2-kodu çalıştırdığım zaman;

Gündüz-------6-----5---- 5
Gece----------5-----5----4
Toplam gün 11+ 10 + 10= 31 gün

Olması gereken;

Gündüz-------6-----5
Gece----------5-----5
Toplam gün 14 + 16 =30 gün

31 gün çeken aylarda ;

Gündüz-------6-----5
Gece----------5-----5
Toplam gün 14 + 17 =31 gün olabilir

birde kod dolgu ile işaretlediğim sütunlara taşmış, EK' li dosyada kod mevcut, yardımcı olur musunuz.
Eklenmiş Dosyalar
Dosya Türü: xlsm Kitap21.xlsm (108.4 KB, 5 Görüntülenme)
__________________
Bana 1 kod öğretene 40 yıl duacı olurum.
Excel bir kuşsa eğer, onun kanatları da sizin beyninizdir. Kanat çırpmadıkça, o kuş hiçbir zaman göklere havalanamaz! |

Sayfada Boş Satırları Silmek:
Sütunu Seçiniz, F5, Özel, Boşluklar, Tamam,
Sağ Klik, Sil, Tüm Satır, Tamam

Bu mesaj en son " 15-12-2017 " tarihinde saat 16:16 itibariyle Garuramon tarafından düzenlenmiştir....
Garuramon Çevrimdışı   Alıntı Yaparak Cevapla
Eski 15-12-2017, 18:16   #5
YUSUF44
Destek Ekibi
 
YUSUF44 kullanıcısının avatarı
 
Giriş: 04/01/2006
Şehir: Manisa, Kula
Mesaj: 6,508
Excel Vers. ve Dili:
İş : Ofis 2016 - Türkçe Ev: Ofis 2016 - Türkçe
Varsayılan

İstenmeyen alana taşmayı gözden kaçırmışım. aşağıdaki şekilde olmalı:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub vardiya()
[F14:AJ29] = ""
For kişi = 14 To 29
    If Cells(kişi, "D") = "A" Then
        For gün = 6 To 36
            If Cells(13, gün) <> "" Then
                If WorksheetFunction.Weekday(Cells(13, gün), 2) <> 7 Then
                    Cells(kişi, gün) = 3
                Else
                    Cells(kişi, gün) = "HT"
                End If
            End If
        Next
    ElseIf Cells(kişi, "D") = "M" Then
        For gün = 6 To 36 Step 6
            If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = 1
            If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 1
            If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 1
            If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 1
            If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = "HT"
            If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = "HT"
        Next
    ElseIf Cells(kişi, "D") <> "B" And Cells(kişi, "D") <> "F" And Cells(kişi, "D") <> "İ" Then
        For gün = 6 To 36 Step 6
            If kişi Mod 3 = 0 Then
                If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = 1
                If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 1
                If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 2
                If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 2
                If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = "HT"
                If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = "HT"
            ElseIf kişi Mod 3 = 1 Then
                If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = 2
                If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 2
                If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = "HT"
                If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = "HT"
                If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 1
                If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 1
            ElseIf kişi Mod 3 = 2 Then
                If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = "HT"
                If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = "HT"
                If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 1
                If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 1
                If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 2
                If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 2
            End If
        Next
    Else
        For gün = 6 To 36 Step 6
            If gün Mod 3 = 0 Then
                If Cells(kişi, "D") = "B" Then
                    If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = 1
                    If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 1
                    If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 2
                    If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 2
                    If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = "HT"
                    If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = "HT"
                ElseIf Cells(kişi, "D") = "F" Then
                    If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = 2
                    If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 2
                    If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = "HT"
                    If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = "HT"
                    If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 1
                    If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 1
                ElseIf Cells(kişi, "D") = "İ" Then
                    If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = "HT"
                    If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = "HT"
                    If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 1
                    If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 1
                    If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 2
                    If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 2
                End If
            ElseIf gün Mod 3 = 1 Then
                If Cells(kişi, "D") = "B" Then
                    If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = 2
                    If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 2
                    If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = "HT"
                    If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = "HT"
                    If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 1
                    If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 1
                ElseIf Cells(kişi, "D") = "F" Then
                    If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = "HT"
                    If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = "HT"
                    If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 1
                    If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 1
                    If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 2
                    If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 2
                ElseIf Cells(kişi, "D") = "İ" Then
                    If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = 1
                    If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 1
                    If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 2
                    If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 2
                    If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = "HT"
                    If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = "HT"
                End If
            ElseIf gün Mod 3 = 2 Then
                If Cells(kişi, "D") = "B" Then
                    If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = "HT"
                    If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = "HT"
                    If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 1
                    If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 1
                    If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 2
                    If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 2
                ElseIf Cells(kişi, "D") = "F" Then
                    If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = 1
                    If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 1
                    If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = 2
                    If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = 2
                    If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = "HT"
                    If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = "HT"
                ElseIf Cells(kişi, "D") = "İ" Then
                    If Cells(13, gün) <= 36 And Cells(13, gün) <> "" Then Cells(kişi, gün) = 2
                    If Cells(13, gün + 1) <= 36 And Cells(13, gün + 1) <> "" Then Cells(kişi, gün + 1) = 2
                    If Cells(13, gün + 2) <= 36 And Cells(13, gün + 2) <> "" Then Cells(kişi, gün + 2) = "HT"
                    If Cells(13, gün + 3) <= 36 And Cells(13, gün + 3) <> "" Then Cells(kişi, gün + 3) = "HT"
                    If Cells(13, gün + 4) <= 36 And Cells(13, gün + 4) <> "" Then Cells(kişi, gün + 4) = 1
                    If Cells(13, gün + 5) <= 36 And Cells(13, gün + 5) <> "" Then Cells(kişi, gün + 5) = 1
                End If
            End If
        Next
    End If
Next
End Sub
Önceki mesajımda da belirtmiştim, mesai saatleriyle ilgili konuyu ve ekstra izini halledemedim. Beni aşıyor maalesef. Belki üstadlar ilgilenirler.

Ayrıca son açıklamanızı da anlamadım maalesef. Muhtemelen başkaları da anlamaz. Açıklamalarınızı hücre/satır/sütün belirterek ve neden öyle olması gerektiğini açıklayarak yaparsanız yardımcı olacaklar için iyi olur.
__________________


Sorularınızı örnek dosyayla desteklemeniz çözüme ulaşmanızı kolaylaştırır.

Altın Üye olmanızı öneririm. Altın Üye değilseniz dosyanızı dosya yükleme sitelerinden birine yükleyip linkini paylaşabilirsiniz.
YUSUF44 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-12-2017, 09:57   #6
Garuramon
Altın Üye
 
Giriş: 02/12/2013
Şehir: istanbul
Mesaj: 174
Excel Vers. ve Dili:
Microsoft Office Professional Plus 2013-türkçe
Varsayılan

Yusuf Bey,

Öncelikle zaman ayırdığınız ve emeğiniz için çok teşekkür ederim.Ellerinize sağlık.

1-A personeli örnek çalışmasını EK' li dosyada işledim kod kısmana düzenleme yapılabilir misiniz.
Haklı olabilirsiniz ancak düşünüleni yazıya dökmek bazen zor olabiliyor. Mümkün olduğu kadar sade anlatmaya çalışacağım.
2-A personeli hariç diğer 15 personelin çalışması ayın 14 günü gündüz vardiyasında 6 kişi gece vardiyasında 5 kişi , ayın geri kalan 16 günü gündüz ve gece 5 er kişi olmalı ve 2 gündüz 2 gece 2 izin sisteminde çalışma yapmak istiyorum.Bu çalışmada M personeline gündüz nöbet yazılacak ve çalışması 4 gün gündüz 2 gün izin şeklinde olmalı. Sizin yazdığınız kod da M personelinin çalışması gayet başarılı olmuş.

Vardiya kodları açıklamaları excel dosyası içinde C:33 hücresi altında mevcuttur.

Konuyla dediğiniz gibi üstadlar ilgileriniz ise mükemmel olacak.
Eklenmiş Dosyalar
Dosya Türü: xlsm Kitap21.xlsm (108.5 KB, 4 Görüntülenme)
__________________
Bana 1 kod öğretene 40 yıl duacı olurum.
Excel bir kuşsa eğer, onun kanatları da sizin beyninizdir. Kanat çırpmadıkça, o kuş hiçbir zaman göklere havalanamaz! |

Sayfada Boş Satırları Silmek:
Sütunu Seçiniz, F5, Özel, Boşluklar, Tamam,
Sağ Klik, Sil, Tüm Satır, Tamam

Bu mesaj en son " 16-12-2017 " tarihinde saat 17:27 itibariyle Garuramon tarafından düzenlenmiştir....
Garuramon Çevrimdışı   Alıntı Yaparak Cevapla
Eski 18-12-2017, 08:18   #7
YUSUF44
Destek Ekibi
 
YUSUF44 kullanıcısının avatarı
 
Giriş: 04/01/2006
Şehir: Manisa, Kula
Mesaj: 6,508
Excel Vers. ve Dili:
İş : Ofis 2016 - Türkçe Ev: Ofis 2016 - Türkçe
Varsayılan

Ekli dosyayı inceleyiniz. 12. ve 13. satırdaki formülleri değiştirdim. Daha önce verdiğim kodları da bu formüllere göre oluşturduğum için sizin dosyanıza uymamıştı. Tüm personellerin gün dağılımları isteğinize göre olmaktadır. Ancak günlük çalışan sayısı ile aylık ekstra izini yapamadım maalesef. Bu çalışmayı temel alarak belki geliştirilebilir.

https://drive.google.com/file/d/1fnb...ew?usp=sharing
__________________


Sorularınızı örnek dosyayla desteklemeniz çözüme ulaşmanızı kolaylaştırır.

Altın Üye olmanızı öneririm. Altın Üye değilseniz dosyanızı dosya yükleme sitelerinden birine yükleyip linkini paylaşabilirsiniz.
YUSUF44 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 18-12-2017, 12:30   #8
Garuramon
Altın Üye
 
Giriş: 02/12/2013
Şehir: istanbul
Mesaj: 174
Excel Vers. ve Dili:
Microsoft Office Professional Plus 2013-türkçe
Varsayılan

Yusuf Bey,

Vardiya dağılımına A personeli dahil edilmemeli A personelini çıkardığım zaman;
Ayın 11 günü 6 kişi gündüz vardiyasında, 5 kişi gece vardiyasında, burada 11 gün değil 14 gün olmalı
10 günü 5 kişi gündüz vardiyasında, 5 kişi gece vardiyasında,
10 günü 5 kişi gündüz vardiyasında, 4 kişi gece vardiyasında,

burayı da 16 gün gündüz vardiyasında 5 kişi, gece vardiyasında 5 kişi 2 gündüz 2 gece 2 izin sistemine göre düzeltebilirsek bu iş tamamdır.

Birde kod kısmındaki dolgu renklerini (LİLA) kaldırır mısınız.Kod bilgim olmadığı için gerekli düzenlemeyi yapamıyorum.

Emekleriniz ve ilginiz için bir kez daha teşekkür ederim.
Eklenmiş Dosyalar
Dosya Türü: xlsm 16'lı vardiya.xlsm (112.2 KB, 11 Görüntülenme)
__________________
Bana 1 kod öğretene 40 yıl duacı olurum.
Excel bir kuşsa eğer, onun kanatları da sizin beyninizdir. Kanat çırpmadıkça, o kuş hiçbir zaman göklere havalanamaz! |

Sayfada Boş Satırları Silmek:
Sütunu Seçiniz, F5, Özel, Boşluklar, Tamam,
Sağ Klik, Sil, Tüm Satır, Tamam
Garuramon Çevrimdışı   Alıntı Yaparak Cevapla
Eski 18-12-2017, 14:05   #9
YUSUF44
Destek Ekibi
 
YUSUF44 kullanıcısının avatarı
 
Giriş: 04/01/2006
Şehir: Manisa, Kula
Mesaj: 6,508
Excel Vers. ve Dili:
İş : Ofis 2016 - Türkçe Ev: Ofis 2016 - Türkçe
Varsayılan

Renk işlemi koşullu biçimlendirme ile yapıldı. Haftasonları belli olsun diye yaptım. İstemiyorsanız koşullu biçimlendirme menüsünden iptal edebilirsiniz.

Daha önce de belirttiğim gibi bundan fazlası elimden gelmiyor maalesef.
__________________


Sorularınızı örnek dosyayla desteklemeniz çözüme ulaşmanızı kolaylaştırır.

Altın Üye olmanızı öneririm. Altın Üye değilseniz dosyanızı dosya yükleme sitelerinden birine yükleyip linkini paylaşabilirsiniz.
YUSUF44 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 18-12-2017, 16:51   #10
Garuramon
Altın Üye
 
Giriş: 02/12/2013
Şehir: istanbul
Mesaj: 174
Excel Vers. ve Dili:
Microsoft Office Professional Plus 2013-türkçe
Varsayılan

Uzman arkadaşlar yardımcı olur musunuz.
muygun bey, halit3 bey, Ömer BARAN bey
__________________
Bana 1 kod öğretene 40 yıl duacı olurum.
Excel bir kuşsa eğer, onun kanatları da sizin beyninizdir. Kanat çırpmadıkça, o kuş hiçbir zaman göklere havalanamaz! |

Sayfada Boş Satırları Silmek:
Sütunu Seçiniz, F5, Özel, Boşluklar, Tamam,
Sağ Klik, Sil, Tüm Satır, Tamam
Garuramon Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 07:06


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Rampa- Rotary- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Çorlu Sürücü Kursu- Şişli Avukat- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kaplan Tekstil- Çorlu Perde- Çorlu Havuz- Makina- Danışmazlar-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden