Aynı Kayıt Var İse Kaydetmesin

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
722
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba arkadaşlar.

Ekte gönderdiğim örnek dosyada aynı kayıt var ise uyarı versin ve tekrar kaydetmesin istiyorum ama aynı kayıt olmasına rağmen yine de kayıt yapıyor. Bide önce uyarı veriyor sonra da kaydediyor. Rica etsem bakabilir misiniz.
 

Ekli dosyalar

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Private Sub CommandButton1_Click()
    Set k = Sheets("ks")
    Set sab = Sheets("sabitler")
    tarih = Format(Date, "dd.mm.yyyy")
    gun = Format(tarih, "dd")
    ay = Format(tarih, "mmmm")
    yil = Format(tarih, "yyyy")
    Son = k.Range("a65000").End(xlUp).Row
    bulunmadi = True
    For i = 1 To Son
        If Range("a" & i) Like yil And Range("B" & i) Like ay Then
            MsgBox (ay & " " & yil & " dönemine ait maaş parametreleri daha önce kaydedilmiş."), 56, "Mükerrer Kayıt"
            bulunmadi = False
            Exit For
        End If
    Next i
    If bulunmadi Then
        k.Cells(Son + 1, 1).Value = yil
        k.Cells(Son + 1, 2).Value = ay
        k.Cells(Son + 1, 3).Value = CDbl(sab.Range("a1").Value)
        k.Cells(Son + 1, 4).Value = CDbl(sab.Range("a2").Value)
        k.Cells(Son + 1, 5).Value = CDbl(sab.Range("a3").Value)
    End If
End Sub
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
722
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Kod:
Private Sub CommandButton1_Click()
    Set k = Sheets("ks")
    Set sab = Sheets("sabitler")
    tarih = Format(Date, "dd.mm.yyyy")
    gun = Format(tarih, "dd")
    ay = Format(tarih, "mmmm")
    yil = Format(tarih, "yyyy")
    Son = k.Range("a65000").End(xlUp).Row
    bulunmadi = True
    For i = 1 To Son
        If Range("a" & i) Like yil And Range("B" & i) Like ay Then
            MsgBox (ay & " " & yil & " dönemine ait maaş parametreleri daha önce kaydedilmiş."), 56, "Mükerrer Kayıt"
            bulunmadi = False
            Exit For
        End If
    Next i
    If bulunmadi Then
        k.Cells(Son + 1, 1).Value = yil
        k.Cells(Son + 1, 2).Value = ay
        k.Cells(Son + 1, 3).Value = CDbl(sab.Range("a1").Value)
        k.Cells(Son + 1, 4).Value = CDbl(sab.Range("a2").Value)
        k.Cells(Son + 1, 5).Value = CDbl(sab.Range("a3").Value)
    End If
End Sub
Veysel Emre bey teşekkür ederim kodlar için.

Bu kez de Mesela Ocak 2023 ayının parametreleri kayıtlı değil ama daha önce kaydedilmiş diye uyarı veriyor ve kaydetmiyor.

Aşağıdaki gibi düzeltme yaptım ama yine aynısını yaptı. Uyarı verip kaydetmedi.
If bulunmadi = True Then
 
Son düzenleme:

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
Dosyanızda 1. satırda 2023 Ocak bilgileri var ondan olmasın.
 
Üst