• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makrolu program

  • Konbuyu başlatan Konbuyu başlatan teyadih
  • Başlangıç tarihi Başlangıç tarihi
Sayfanın kod bölümüne yapıştırın.

Alamaz olanlara mesai girildiğinde girilen bilgiyi siler.

Son girilen bilgi ile Toplam girilen bilgi A4 deki değerden büyük ise son girilen bilgiyi siler
Çok hücreli kopyala ve mesai alanına yapıştırda kod çalışmaz. Her bir gücreye ayrı ayrı bilgi girilmelidir.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Intersect(Target, Range("L10:W65000")) Is Nothing Then Exit Sub
    satir = Target.Row
    durum = Cells(satir, "J").Value
    If durum = "Alamaz" Then
       Application.EnableEvents = False
       Target.Value = ""
       Application.EnableEvents = True
       MsgBox ("Mesai Alamaz personele mesai saati giremezsiniz.")
    End If

    If  Val(Target.Value) > 50 and durum <> "Alamaz" Then
       Application.EnableEvents = False
       Target.Value = ""
       Application.EnableEvents = True
       MsgBox ("Bir ay için mesai saati 50 yi geçemez")
    End If

    If (Cells(satir, "X").Value > Range("A4").Value)  and durum <> "Alamaz" Then
        Application.EnableEvents = False
        Target.Value = ""
        Application.EnableEvents = True
        MsgBox ("Personel bazında toplam mesai saatini geçemezsiniz.")
    End If

    If Range("N4").Value > Range("G4").Value  and durum <> "Alamaz" Then
        Application.EnableEvents = False
        Target.Value = ""
        Application.EnableEvents = True
        MsgBox ("Toplamda kalan mesai saatini geçemezsiniz.")
    End If
    
End Sub
 
Son düzenleme:
Elinize sağlık sayın asri uyarı
Son girilen bilgi ile Toplam girilen bilgi A4 deki değerden büyük ise son girilen bilgiyi , toplam A4 e eşit olacak şekilde değiştirir. şeklinde yapmışsınız ama burada da tamamlama yerine girilen son veriyi silse daha iyi olur diye düşünüyorum.
Birde N4 deki toplam rakam G4 deki rakamı geçerse son girişin silinmesini eklenmemiş koda ekler misiniz
teşekkür ederim
 
Elinize sağlık sayın asri uyarı
Son girilen bilgi ile Toplam girilen bilgi A4 deki değerden büyük ise son girilen bilgiyi , toplam A4 e eşit olacak şekilde değiştirir. şeklinde yapmışsınız ama burada da tamamlama yerine girilen son veriyi silse daha iyi olur diye düşünüyorum.
Birde N4 deki toplam rakam G4 deki rakamı geçerse son girişin silinmesini eklenmemiş koda ekler misiniz
teşekkür ederim

Kod güncellendi, fazla kriter olduğu için uyarı mesajları eklendi.
Mesaj almak istemiyorsanız. Kodlardaki msgbox satırlarının başına shift+2 ile ' işaretini ekleyiniz.
 
Elinize sağlık sayın asri güzel olmuş. Ancak her ay için 50 saati geçemeyeceği için 50 saatten fazla yazıldığında "mesai alamaz personele mesai saati giremezsiniz" uyarısı veriyor. Bunun yerine tüm aylarda 50 saatten fazla yazıldığında 50 saatten fazla mesai giremezsiniz uyarısı verebilirse tamamdır. Teşekkür ederim
 
Elinize sağlık sayın asri güzel olmuş. Ancak her ay için 50 saati geçemeyeceği için 50 saatten fazla yazıldığında "mesai alamaz personele mesai saati giremezsiniz" uyarısı veriyor. Bunun yerine tüm aylarda 50 saatten fazla yazıldığında 50 saatten fazla mesai giremezsiniz uyarısı verebilirse tamamdır. Teşekkür ederim

Kurallarda bu şekilde yazmıştınız.
"İsminin karşısındaki L ve W arasındaki aylardan herhangi birisine 50 den fazla rakam girilirse "50 SAATİ GEÇEMEZ"

Tüm aylarda 50 saatten fazla yazılmak ne demek?

Dosya üzerinde tüm kurallara uygun örnekler verip. Hangi durumda ne olması gerektiğini belirtirmisiniz?
 
Birde son olarak dikkat çekmesi için uyarıları KIRMIZI renkle yazdırabilir miyiz sayın asri
 
Tüm aylarda 50 saatten fazla yazılmaz derken Ocak - şubat ve diğer aylar için en fazla 50 saat mesai yazılabilir demek istedim. sayın asri Eğer 50 saatten fazla yazılırsa 50 saatten fazla mesai giremezsiniz uyarısı vermesi
 
Tüm aylarda 50 saatten fazla yazılmaz derken Ocak - şubat ve diğer aylar için en fazla 50 saat mesai yazılabilir demek istedim. sayın asri Eğer 50 saatten fazla yazılırsa 50 saatten fazla mesai giremezsiniz uyarısı vermesi

Kodu güncelledim ancak denemedim.

Kontrol ediniz.
 
Yada sayın asri mevcut tüm kodu silip örnekteki gibi hatırlatma tarihi geleni hatırlatıp ana menüye geçmesi için yeni bir kod yazarmısınız
 
Başka excel dosyalarından otomatik veri alma

Ana excel kitabına (kitap1), aynı dosya içerisinde bulunan diğer excellerin (kitap2, kitap3, kitap4) içerisinde tabloların otomatik olarak ana excelime (yani kitap1 e) nasıl otomatik olarak getirebilirim.

çok acil yardımcı olursanız sevinirim.
 
Geri
Üst