Puantaj Hk.

Katılım
19 Şubat 2007
Mesajlar
630
Excel Vers. ve Dili
Ofis 365 Tr- 64 Bit
Altın Üyelik Bitiş Tarihi
08-01-2024
Korhan Ayhan Hocam Hafta sonu için Pazarları Baz alıyoruz. biz haftanın 6 günü Normal çalışıyoruz. Pazar günleri izin günleri. X işareti koymamın sebebi ise Maaş hesaplarken Hafta sonunun puantajlarını hesaplatmaktır. pazar mesaiye gelmiş ise de H+ Olarak hesaplıyoruz zaten Hocam yapmış olduğum puantajı 2 türlü kullanıyorum

1. maaş hesaplarken tüm verileri alıyorum.
2. Personellerin sadece çalıştığı günleri alarak verimliliği hesaplıyoruz. verimliği hesaplarken ise ( X, X+H+ B+) alıyorum.

İnşallah şimdi anlatabilmişimdir. :)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,510
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek olarak paylaştığınız dosyada ÇARŞAMBA günü için H+7 yazmışsınız ve bu değeri haftasonu mesai bölümünde toplatıyorsunuz.

Bu durumda 7. satırdaki tarihlerin bir esprisi kalmıyor gibi görünüyor.

Durum gerçekten böyle mi?
 
Katılım
19 Şubat 2007
Mesajlar
630
Excel Vers. ve Dili
Ofis 365 Tr- 64 Bit
Altın Üyelik Bitiş Tarihi
08-01-2024
Korhan Ayhan Hocam anladığım kadarıyla siz kasım ayına bakmışsınız. Hocam sizin yapmış olduğunuz kodda kopya oluşturuyor. orda günler kayma olmuş aslında bu verilerin silinmesi gerekiyor. Kasımda lütfen sizde denerseniz anlarsınız. h+ sadece pazar günü kullanılacak. x+ ise sadece hafta içi mesailerde kullanılacak. b+ ise sadece bayram mesailer için kullanılacak
x ise sadece normal çalışma için kullanılacak.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,510
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bana göre senaryo başından hatalıydı.

Bir puantaj sayfanız var.
Bir hücreden ay seçerek günler değişiyor.
Buna bağlı olarak günlerdeki çalışma durumu eski aya ait kalıyor. Sonra siz bu haliyle yeni bir kopya oluşsun diyorsunuz.

Bende talebinize göre kod hazırladım. Hücre değişiminde sayfa kopyalandığı için puantaj içindeki veriler eski aya ait oluyor. Bu sebeple günlerde kaymalar oluşuyor.

Yani boşa kürek çektik durduk.

Ben ilk cevabı yazarken üyemizin bir bildiği vardır diyerek yanıtlamıştım.

Bu durumda siz önce AD5 hücresinden ay seçeceksiniz. Buna bağlı 6. ve 7. satırdaki günler değişecek. Sonra puantajı doldurup bir butona tıklayıp yeni puantaj sayfası oluşturacaksınız.

Senaryo bu şekilde midir?
 
Katılım
19 Şubat 2007
Mesajlar
630
Excel Vers. ve Dili
Ofis 365 Tr- 64 Bit
Altın Üyelik Bitiş Tarihi
08-01-2024
Korhan Ayhan Hocam evet söylediğiniz gibi yapacağım. Aslında sizin şuan yapmış olduğunuz kodda olayı çözdüm puantaj adında yeni bir sayfa oluşturdum. AD ay seçince istediğim şekilde oluşturuyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,510
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu durumda sorun çözüldü mü?
 
Katılım
19 Şubat 2007
Mesajlar
630
Excel Vers. ve Dili
Ofis 365 Tr- 64 Bit
Altın Üyelik Bitiş Tarihi
08-01-2024
Korhan Hocam formül kısmını kod ile yapabilirmiyiz.ve işten çıkış tarihi ay içinde ise işlem yapmıyor. Hocam bir butonla bulunduğumuz verileri otomatik getirme olasılığımız var mı
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,510
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Siz, benim sizin yaptığınız işi biliyormuşum gibi yazıyorsunuz.

Senaryoyu bana adım adım yazmalısınız.

Örnek;

Boş puantaj sayfasına AD5 hücresinden ayı seçerek kişilerin aylık çalışma-izin-rapor durumlarını elle (yada kopyala-yapıştır) giriyorum.
Sonrasında tablonun sonunda girilen verilere göre çalışma saatleri ve izin durumları hesaplanıyor.
Sonra butona tıklayıp ilgili döneme ait bir excel sayfası oluşturup puantaj sayfasındaki bilgileri yeni puantaj hazırlama için boşaltıyorum.



Daha önce hesaplamalarla ilgili bilgiler paylaşmıştınız. Ben aşağıdaki tekrar paylaşıyorum. Doğru olmayan varsa açıkça belirtin lütfen.

X değerleri sayılıp 7 ile çarpılarak NORMAL SAAT sütununa yazılacak.
X+ ile başlayan hücreler için X değerleri sayılıp 7 ile çarpılarak NORMAL SAAT sütunu üzerine eklenecek.
X+ ile başlayan değerlerin yanındaki sayılar hafta içi günlerse toplanarak HAFTA İÇİ MESAİ sütununa yazılacak.
X- ile başlayan değerlerin yanındaki sayılar toplanarak ÜCRETSİZ SAAT İZİN sütununa yazılacak.
H+ ile başlayan değerlerin yanındaki sayılar hafta sonu günlerse toplanarak HAFTA SONU MESAİ sütununa yazılacak.
B+ ile başlayan değerlerin yanındaki sayılar toplanarak BAYRAM MESAİ sütununa yazılacak.
R ile başlayan hücre sayısı 7 ile çarpılarak RAPORLU sütununa yazılacak.
S ile başlayan hücre sayısı 7 ile çarpılarak YILLIK İZİN sütununa yazılacak.
İD ile başlayan hücre sayısı 7 ile çarpılarak RAPORLU sütununa yazılacak.
Eİ ile başlayan hücre sayısı 7 ile çarpılarak EVLİLİK İZİN sütununa yazılacak.
Dİ ile başlayan hücre sayısı 7 ile çarpılarak DOĞUM İZİN sütununa yazılacak.
Öİ ile başlayan hücre sayısı 7 ile çarpılarak ÖLÜM İZİN sütununa yazılacak.

Siz bu kısaltmaları formüllerle hesaplatmışsınız. Bu sonuçlar doğru mu?
Mesela hafta içi mesai bilgileri toplanırken sadece hücrede X+ varmı diye bakılmış. Bu hücre gün olarak hafta içi mi yoksa hafta sonu mu bakılmamış. Yani 7. satırdaki tarihlerle bir ilişki kurulmamış.

Ben bundan şunu anlarım; "-Biz puantajı doldururken bu detaylara düzgün bir şekilde dikkat ederek hazırlıyoruz."

Dediğim gibi puantaj basit gibi görünür ama oldukça fazla detay vardır.

Bunları da kullanan kişiler bilirler.

Buna göre paylaşım yaparak yardım istenmelidir.
 
Katılım
19 Şubat 2007
Mesajlar
630
Excel Vers. ve Dili
Ofis 365 Tr- 64 Bit
Altın Üyelik Bitiş Tarihi
08-01-2024
Korhan Ayhan Hocam Aşağıda anlattım. İnşallah anlatabilmişimdir. :) Kod ile yapılması gerekenler,

1. X İşareti sadece hafta içi normal çalışma olarak kullanılacak ve 7 ile çarpılacak.( yazılacak sütun " AM"; Normal Saat)
2. H+ İşareti sadece Hafta sonu için kullanılacak pazar mesai gelen personeller için kullanılacak ve 7 ile çarpılacak ( yazılacak sütun "AO"; Hafta Sonu Mesai)
3.) X+ İşareti Hafta içi yapılan mesailer için kullanılacak + olan sayısal değer kısmı " yazılacak sütun "AN"; Hafta içi mesai )X İşareti kısmı ise 7 saat olarak " AM" Sütuna eklenecek " Normal Saat"
4.) X- İşareti Hafta içi personelin izin almış saat durumunu gösteriyor. - olan sayısal değer kısmı " Yazılacak sütun "AR"; Ücretsiz saat izin) bir günlük çalışma süresi 7 saat olarak ayarlama yaptık. ve "X" İşareti olarak gösteriyorum. - sayısal değerden kalan kısım ise "AM" sütununa ;Normal saat kısmına eklenecek buna bir örnek vermek gerekirse X-4 personel 4 saat izin almış 3 saat çalışmış bu 3 saat Normal Saate Eklenmelidir.
5.) B+ ile başlayan değerlerin yanındaki sayılar toplanarak BAYRAM MESAİ sütununa yazılacak.
6.) R ile başlayan hücre sayısı 7 ile çarpılarak RAPORLU sütununa yazılacak.
7.) S ile başlayan hücre sayısı 7 ile çarpılarak YILLIK İZİN sütununa yazılacak.
8.) İD ile başlayan hücre sayısı 7 ile çarpılarak RAPORLU sütununa yazılacak.
9.) Eİ ile başlayan hücre sayısı 7 ile çarpılarak EVLİLİK İZİN sütununa yazılacak.
10.) Dİ ile başlayan hücre sayısı 7 ile çarpılarak DOĞUM İZİN sütununa yazılacak.
11.) Öİ ile başlayan hücre sayısı 7 ile çarpılarak ÖLÜM İZİN sütununa yazılacak.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,510
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Peki bu hesaplamalar yapılırken 7. satırdaki tarihlere bakılmasına gerek var mı?

Yani hafta içi ve pazar günü kontrolü yapılmalı mı?

Yoksa siz bu girişleri yaparken bu duruma dikkat ediyor musunuz?
 
Katılım
19 Şubat 2007
Mesajlar
630
Excel Vers. ve Dili
Ofis 365 Tr- 64 Bit
Altın Üyelik Bitiş Tarihi
08-01-2024
Korhan Hocam eğer zahmet olmazsa hafta sonu kontrolü yapılırsa çok iyi olur. Normalde biz kendimiz yapıyoruz. bazen insan dalgınlıkla yanlış da yapabiliyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,510
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Peki hafta sonu girişi yapılmaması gereken bir veri girişi olursa sonuç nasıl olacak?
 
Katılım
19 Şubat 2007
Mesajlar
630
Excel Vers. ve Dili
Ofis 365 Tr- 64 Bit
Altın Üyelik Bitiş Tarihi
08-01-2024
Korhan Hocam hafta sonu girilmemesi gereken veriler aşağıdadır.
X-,X+,İD,Dİ,Öİ,Eİ,S,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,510
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu verileri hafta sonuna girdiniz diyelim nasıl bir işlem yapılacak?
 
Katılım
19 Şubat 2007
Mesajlar
630
Excel Vers. ve Dili
Ofis 365 Tr- 64 Bit
Altın Üyelik Bitiş Tarihi
08-01-2024
Yanlış veri girildi uyarısı versin.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,510
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
PUANTAJ sayfasının kod bölümündeki daha önce paylaştığım kodu silip aşağıdaki kodu uygulayıp EKİM ayını seçip veri girişi yapmayı deneyiniz.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Veri As Range, Alan As Range
    
    If Intersect(Target, Range("G8:AK" & Rows.Count)) Is Nothing Then Exit Sub
    
    For Each Veri In Intersect(Target, Range("G8:AK" & Rows.Count))
        If Veri.Value <> "" Then
            If Weekday(Cells(7, Veri.Column), vbMonday) = 7 Then
                Select Case Left(UCase(Replace(Replace(Veri.Value, "ı", "I"), "i", "İ")), 2)
                    Case "X-", "X+", "İD", "Dİ", "Öİ", "Eİ"
                    If Alan Is Nothing Then
                        Set Alan = Veri
                    Else
                        Set Alan = Union(Alan, Veri)
                    End If
                End Select
                
                Select Case Left(UCase(Replace(Replace(Veri.Value, "ı", "I"), "i", "İ")), 1)
                    Case "S"
                    If Alan Is Nothing Then
                        Set Alan = Veri
                    Else
                        Set Alan = Union(Alan, Veri)
                    End If
                End Select
            End If
        End If
    Next
                    
    If Not Alan Is Nothing Then
        If MsgBox("Hafta sonu için hatalı veri girişi tespit edildi!" & vbLf & vbLf & _
                  "Hatalı girilen veriler silinsin mi?", vbCritical + vbYesNo + vbDefaultButton2) = vbNo Then
            MsgBox "Silme işlemi iptal edilmiştir.", vbInformation
        Else
            Alan.ClearContents
            MsgBox "Hatalı veri girişleri silinmiştir.", vbInformation
        End If
    End If
    
    Set Alan = Nothing
End Sub
 
Katılım
19 Şubat 2007
Mesajlar
630
Excel Vers. ve Dili
Ofis 365 Tr- 64 Bit
Altın Üyelik Bitiş Tarihi
08-01-2024
Sayın Korhan Ayhan Hocam yazmış olduğun kod puantaj yapılan işlemleri toplamları almıyor. yada ben çalıştıramadım.
 
Katılım
19 Şubat 2007
Mesajlar
630
Excel Vers. ve Dili
Ofis 365 Tr- 64 Bit
Altın Üyelik Bitiş Tarihi
08-01-2024
Korhan Ayhan Hocam yazmış olduğunuz kod sadece hafta sonu yanlış veri girildiğinde uyarı veriyor.Başka işlem yapmıyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,510
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Doğrudur bu kod sadece Pazar günlerine hatalı veri girişinde sizi uyaracak olan koddur.

Hatalı veri girişi yapıp test ediniz.
 
Katılım
19 Şubat 2007
Mesajlar
630
Excel Vers. ve Dili
Ofis 365 Tr- 64 Bit
Altın Üyelik Bitiş Tarihi
08-01-2024
Evet Hocam Ellerinize sağlık harika olmuş. çok teşekkür ederim.
 
Üst