• DİKKAT

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

Aktif Gün Hesaplama

Katılım
7 Haziran 2017
Mesajlar
55
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013
Merhaba,

Performans raporumda Vardiya bazında bir takip oluşturmam gerekiyor. Aşağıdaki kod gibi yine forumdan tek bir Sütun için destek aldım. Ancak bu sadece ilgili sütun verilerinin karşılığını verdiğinden istediğime ulaşamıyorum.

Oluşturmam gereken rapor'u Excel'de formüllüyorum ancak kapsam fazlalığından Makro'ya dönüştürmem gerekiyor.

Kısaca konu şu :

E sütunundaki kombinasyona göre F-G-H-I sütunlarına birebir karşılıklarını getirmek.

Yardımınız dokunabilirse çok sevinirim.

Kod:
Sub AdamGünSay()

 Application.ScreenUpdating = False
    
    Range("D3:D" & Rows.Count).ClearContents
    Son = Cells(Rows.Count, 1).End(3).Row
    
    With Range("D3:D" & Son)
        .Formula = "=IF(RC[-1]="""","""",IF(COUNTIF(R1C1:RC[-1],RC[-1])=1,RC[-3],""""))"
        .Value = .Value
    End With

    Application.ScreenUpdating = True

    MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
 

Ekli dosyalar

Merhaba

Çözüme yönelik desteğiniz olursa çok sevinirim.

Tşk,
 
Aşağıdaki Kod'u deneyin.


Kod:
Sub AdamGünSay()
Dim son As Long: son = Cells(Rows.Count, 1).End(3).Row
 Application.ScreenUpdating = False
    
    
    Range("F2:I" & son).ClearContents
    
    With Range("F2:F" & son)
        .Formula = "=LEFT(E2,FIND(""/"",E2)-1)"
        .Value = .Value
    End With
    With Range("G2:G" & son)
        .Formula = "=MID(E2,FIND(""/"",E2)+1,FIND(""-"",E2)-2-FIND(""/"",E2)+1)"
        .Value = .Value
    End With
    
    
    With Range("H2:H" & son)
        .Formula = "=MID(E2,FIND(""-"",E2)+1,FIND(""!"",E2)-2-FIND(""-"",E2)+1)"
        .Value = .Value
    End With
    
    With Range("I2:I" & son)
        .Formula = "=MID(E2,FIND(""!"",E2)+1,FIND(""*"",E2)-2-FIND(""!"",E2)+1)"
        .Value = .Value
    End With
    

    Application.ScreenUpdating = True

    MsgBox "Isleminiz tamamlanmistir." & Chr(10) & _
           "Islem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
 
Çok teşekkür ederim. Elinize sağlık.

İyi bayramlar
 
Geri
Üst