• DİKKAT

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

formülü makroya uyarlamak

Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
Merhaba
Yıllık izinde kullandığım eğerli fonksiyon formülümü makroya çevirebilirmiyim. Tablomun daha hızlı çalışmasını sağlamak için bunu istiyorum. Yada öneriniz varmı. Her ihtimale karşılık örnek çalışma ekledim. Şimdiden teşekkürler.

=EĞER(F2="Daimi İşçi";(EĞER(ETARİHLİ($G2;$H2;"Y")>5;30;25));EĞER(F2="Daimi İşçi Taşeron";(EĞER(ETARİHLİ($G2;$H2;"Y")>5;22;16));EĞER(F2="Geçici İşçi";EĞER(I2<170;0;EĞER(J2<1825;12;18));EĞER(F2="Geçici İşçi-5620";EĞER(I2<0;0;EĞER(J2<1825;25;30));0))))
 

Ekli dosyalar

Merhaba,

İlgili sayfanızın kod bölümüne aşağıdaki kodu uygulayıp deneyiniz.

Kod sayfa aktif olduğunda çalışacaktır.

Kod:
Private Sub Worksheet_Activate()
    Dim Son As Long
    Son = Cells(Rows.Count, "K").End(3).Row
    With Range("K2:K" & Son)
        .Formula = "=IF(F2=""Daimi İşçi"",(IF(DATEDIF(G2,H2,""Y"")>5,30,25)),IF(F2=""Daimi İşçi Taşeron"",(IF(DATEDIF(G2,H2,""Y"")>5,22,16)),IF(F2=""Geçici İşçi"",IF(I2<170,0,IF(J2<1825,12,18)),IF(F2=""Geçici İşçi-5620"",IF(I2<0,0,IF(J2<1825,25,30)),0))))"
        .Value = .Value
    End With
End Sub
 
Hocam oldu ama bi eksiğimi farkettim. Yıllık izin hakediş tarihi daimi işçi ve daimi işçi taşeron için bugünden sonra ise hesaplama yapmamalı yani süre gelmemişse. bugünden eski olan tarihleri hesaplamalı. Kontrol ekleyebilirmiyiz.
 
Deneyiniz.

Kod:
Private Sub Worksheet_Activate()
    Dim Son As Long
    Son = Cells(Rows.Count, "K").End(3).Row
    With Range("K2:K" & Son)
        .Formula = "=IF(AND(OR(F2=""Daimi İşçi"",F2=""Daimi İşçi Taşeron""),H2>NOW()),0,IF(F2=""Daimi İşçi"",(IF(DATEDIF(G2,H2,""Y"")>5,30,25)),IF(F2=""Daimi İşçi Taşeron"",(IF(DATEDIF(G2,H2,""Y"")>5,22,16)),IF(F2=""Geçici İşçi"",IF(I2<170,0,IF(J2<1825,12,18)),IF(F2=""Geçici İşçi-5620"",IF(I2<0,0,IF(J2<1825,25,30)),0)))))"
        .Value = .Value
    End With
End Sub
 
Hocam dönüş yapamadım. İlginiz için teşekkür ederim. Formülde baya değişiklik oldu. Sağolun zahmet verdim.
 
Geri
Üst