• DİKKAT

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

Formülleri makroya çevirme

Katılım
6 Kasım 2005
Mesajlar
300
dosyamda yer alan formülleri makro yardımı ile yapmak istiyorum...yardımlarınız için şimdiden teşekkürler...
 

Ekli dosyalar

Bende altın üyelik yok kardeşim dosyana göz atmadım ancak "GELİŞTİRİCİ" sekmesinden "makro kaydet" seçerek hatta kısayolda atayabilirsin. Daha sonra "kaydı durdur" diyip makroyu çalıştırdığında formül çalışacaktır. VBA da yapmak istersen de yine aynı yolları izleyip "GELİŞTİRİCİ" sekmesinden VBA giriş yap sol yanda kaydettiğin makroları formül olarak görebilirsin onları VBA içerisinde istediğin yerde kullanabilirsin.
 
Aşağıdaki kodları bir module içine ekleyip sayfanızda çalıştırabilirsiniz.
C++:
Sub Formüller()
    Dim wf As WorksheetFunction, i%, k%
    Set wf = WorksheetFunction
    For i = 8 To Range("C8").End(4).Row Step 5
        Range("AK" & i) = wf.CountIf(Range("D" & i).Offset(2, 0).Resize(1, 30), "M") + wf.CountIf(Range("D" & i).Offset(2, 0).Resize(1, 30), "M") / 2
        Range("AL" & i) = wf.CountIf(Range("D" & i).Offset(3, 0).Resize(1, 30), "Y") + wf.CountIf(Range("D" & i).Offset(3, 0).Resize(1, 30), "H")
        Range("AM" & i) = wf.CountIf(Range("D" & i).Offset(0, 0).Resize(3, 30), "R")
        Range("AI" & i) = wf.CountA(Range("D" & i).Offset(0, 0).Resize(3, 30)) - Range("AM" & i)
        Range("AN" & i) = wf.Sum(Range("AI" & i).Resize(1, 5)) - Range("AM" & i)
    Next i
    For k = 0 To 5
        Range("AI" & i).Offset(0, k) = wf.Sum(Range("AI8").Offset(0, k).Resize(i - 8, 1))
    Next k
    Set wf = Nothing: i = Empty: k = Empty
End Sub
 
Teşekkürler...ömer faruk bey...emeğinize sağlık...ancak diğer satırlara uygularken hata mesajı aldım...diğer satırlar içinde yardımcı olursanız sevinirim
 
Gönderdiğiniz örnek dosyada Toplam satırından önce ekleyeceğiniz tüm personel isimleri bulunan satırlar için kodlar görev yapacaktır.

For i = 8 To Range("C8").End(4).Row Step 5

Yukarıdaki kırmızı işaretli kısım bu işi yapıyor.

C8 hücrenizi seçin. Ctrl + Aşağı Ok basın
Seçilen yeni hücre son işlem yapacağınız satırdır.
Eğer farklı bir satır varsa hücre formatlarınızda örnek dosyanızdan farklı durum vardır.
 
Gönderdiğiniz örnek dosyada Toplam satırından önce ekleyeceğiniz tüm personel isimleri bulunan satırlar için kodlar görev yapacaktır.

For i = 8 To Range("C8").End(4).Row Step 5

Yukarıdaki kırmızı işaretli kısım bu işi yapıyor.

C8 hücrenizi seçin. Ctrl + Aşağı Ok basın
Seçilen yeni hücre son işlem yapacağınız satırdır.
Eğer farklı bir satır varsa hücre formatlarınızda örnek dosyanızdan farklı durum vardır.
Ömer Faruk bey...her bir satır için ayrı makrolar yaptığımda sorun çözülüyor...b8-b12-b16-b20-b24 hücrelerinde bulunan isimlerin karşılğını tek makro ,le çözmek istiyorum...
 
Step 5 yerine Step 4 olarak değiştirin.
 
Geri
Üst