• DİKKAT

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

Hücre değerini şartlı değiştirme

Kodlar aşağıdaki gibidir.
If Cells(i, 7).Value = 3 Then Cells(i, 7).Value = 1
If Cells(i, 7).Value = 2 Then Cells(i, 7).Value = 3
If Cells(i, 7).Value = 1 Then Cells(i, 7).Value = 2
 
104 kişi bakmış ama sorunu çözen bulunmamış. Demek ki hakikaten zor bir problem :(
 
.............
 
Sevgili mancubus,
Kusura bakmayın. Kural ihlali yaptığımın farkında değilim. Ancak bu sorunu doğru cümlelerle anlatamayacağımı düşündüğüm için bu şekilde yaptım. Siz olsanız nasıl anlatırdınız?
 
yok.
bir yorum yazmıştım.
hatalı olmuş.
onu sildim.

hala cevaplanmamış olursa geniş bir zamanda bakarım.

yine de tam olarak ne istediğimizi sorunun içine yazar isek ileride birileri arama yaptığında bulmaları kolay olur.
 
Sub Düğme1_Tıklat kodlarının uyarlandığı ve ThisWorkbook kod modülünde yer alan kodlar silinmeli.

Mevcut kod aşağıdaki gibi olmalı.

yalnız birinin derecesi 1 ve kademesi 3 ise bir sonraki derece/kademe 0/1 olacak. buna dikkat edilmeli.

1. satırda sütun başlıkları olmalı. ekteki dosyada bu sağlandı.

Kod:
Sub Düğme1_Tıklat()

ssat = Cells.Find("*", , , , xlByRows, xlPrevious).Row
Range("C2:C" & ssat).Clear

For i = 2 To ssat 'WorksheetFunction.CountA(Range("A1:a500"))
    a = Cells(i, 2) 'satırdaki tarih verisini alıyor
    b = DatePart("d", Cells(i, 2)) 'tarihin gün kısmını alıyor
    c = DatePart("m", Cells(i, 2)) 'tarihin ay kızmını alıyor
    d = DatePart("d", Date) 'sistem tarihinin gün kısmını alıyon
    e = DatePart("m", Date) 'sistem tarihinin ay kısmını alıyor
    If b <= 14 Then
        'If b = d Then 'verideki gün ile sistem tarihindeki günü karşılaştırıyor eşitse devam ediyor
        If c = e Then 'verideki ay ile sistem tarihinin ayını karşılaştırıyor eşitse kabul ediyor ve uyarıyor siz bunu If c=e-1 olarak değiştirirseniz sonucu bulursunuz.
            MsgBox " " & Cells(i, 1) & " 'e ait terfi zamanı gelmiştir."
            Cells(i, 3).Value = "Bu ay terfisi yapılacak"
            '###### YENİ DERECELER YAZILIYOR
            If Cells(i, 5).Value = 3 Then
                Cells(i, 6).Value = Cells(i, 4).Value - 1
            Else
                Cells(i, 6).Value = Cells(i, 4).Value
            End If
            '###### YENİ KADEMELER YAZILIYOR
            If Cells(i, 5).Value = 3 Then
                Cells(i, 7).Value = 1
            ElseIf Cells(i, 5).Value = 2 Then
                Cells(i, 7).Value = 3
            ElseIf Cells(i, 5).Value = 1 Then
                Cells(i, 7).Value = 2
            End If
        End If
    Else
        MsgBox " " & Cells(i, 1) & " 'ye ait terfi zamanı GELMEMİŞTİR."
        Cells(i, 6).Value = Cells(i, 4).Value
        Cells(i, 7).Value = Cells(i, 5).Value
    End If
Next i

End Sub
 
rica ederim.
 
Geri
Üst