Formülleri makroya çevirme

Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Merhabalar ekteki dosyada formüller bulunmaktadır. Makroya çevirmwk isityorum . bu haliyle yavaş çalıştığı için yardımlarınızu bekliyorum. iyi günler dilerim teşekkürler
 

Ekli dosyalar

Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Hocam az bi çalışma yapsanız örnek dosyam üzerinden bende ona göre ilerlerim belki
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,256
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Paylaştığım link yetersiz gelirse aşağıdaki linkten benzer konulara erişim sağlayabilirsiniz.

Arama Sonuçları
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Hocam böyle yaptım ama nasıl kurgulayacagımı bilmiyorum yani yeni kayıt eklerken nasıl olcak sayfaya girip çıkmammı gerekcek verileri görmem için özet sayfasında
Kod:
Private Sub Worksheet_Activate()

    With Sheets("PERSONEL").Range("O3:AS" & Sheets("PERSONEL").Cells(Sheets("PERSONEL").Rows.Count, 1).End(3).Row)
        .Formula = "=IFERROR(IF(DATE(R2C,MONTH(TODAY()),DAY(TODAY()))>TODAY(),"""",LOOKUP(DATE(R2C,MONTH(TODAY()),DAY(TODAY()))-RC5,{0,364,2189,5475},{0,14,20,26})),"""")"
        .Value = .Value
    End With
    End Sub
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Birde hocam bunu yaptıgımda alttaki gibi oluyor baktıgımda hesaplanmış sütun formülü tutarsız gibi uyarı çıkıyor . Yanlışmı yaptım acaba
238059
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Yardım edecek varmıdır çözemedim halen
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Aşağıdaki formülü kullanın.

Kod:
Sub test()
    With Sheets("PERSONEL").Range("N3:AR" & Sheets("PERSONEL").Cells(Rows.Count, "A").End(3).Row)
        .Formula = "=IFERROR(IF(DATE(N$2,MONTH(TODAY()),DAY(TODAY()))>TODAY(),"""",LOOKUP(DATE(N$2,MONTH(TODAY()),DAY(TODAY()))-$E3,{0,364,2189,5475},{0,14,20,26})),"""")"
        .Value = .Value
    End With
End Sub
Formül A sütunundaki veri sayısı kadar yerde hesaplama yapıyor örnekteki dosyada A sütunu 132. satırda son buluyor ama diğer sütunlarda formüllü veriler var. Oradaki formüller ile koddaki formül birbiri ile uyuşmadığı için böyle bir uyarı veriyor. İsterseniz uyarıyı yok sayabilirsiniz yada A sütunu veri olan son satıra kadar çoğaltın ki tüm satırlara yeni formül eklenmiş olsun.

Örnekte A sütunu 200. satıra kadar devam etmesi gerekiyor.
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Teşekkür ederim hocam peki formüller sürekli aktif çalışıyor dosyayı ağrılaştıryor başka çözümü yokmudur
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Yukarıdaki koddur formül değil.
Kodu çalıştırdığınızda belirtilen alanda sadece formül sonuçları yazar, formüller yazmaz.
Ama sizin başka yerlerde farklı formüller var onlar da kod ile yapılsa hızlanır.
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
İşte hocam nasıl yapcagmı kurgulayamıyorm
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Deneyin.
Kod:
Sub Test()
    Dim SatirSay As Long
    With Sheets("PERSONEL")
        SatirSay = .Cells(Rows.Count, "A").End(3).Row
        .Range("F3:F" & SatirSay).Formula = "=YEAR(TODAY()-E3)-1900&"" YIL ""&MONTH(TODAY()-E3)&"" AY ""&DAY(TODAY()-E3)&"" GÜN """
        .Range("G3:G" & SatirSay).Formula = "=HLOOKUP(yılno,PERSONEL!$N$1:$AR$200,ROWS($F$1:F3),FALSE)"
        .Range("H3:H" & SatirSay).Formula = "=SUM(N3:AR3)"
        .Range("I3:I" & SatirSay).Formula = "=IFERROR(SUMPRODUCT((kayıtsicil=$B3)*(kayıttür=""YILLIK İZİN"")*(kayıtgün)),""0"")"
        .Range("J3:J" & SatirSay).Formula = "=IFERROR(SUMPRODUCT((kayıtsicil=$B3)*(kayıttür=""Borçlandırma"")*(kayıtgün)),""0"")"
        .Range("K3:K" & SatirSay).Formula = "=IFERROR(SUMPRODUCT((kayıtsicil=$B3)*(kayıttür=""Borçtan Düşme"")*(kayıtgün)),""0"")"
        .Range("L3:L" & SatirSay).Formula = "=[@[Toplam" & Chr(10) & "Borç]]-[@[Borçtan" & Chr(10) & "Düşen]]"
        .Range("M3:M" & SatirSay).Formula = "=H3-I3-[@[Borçtan" & Chr(10) & "Düşen]]"
        .Range("N3:AR" & SatirSay).Formula = "=IFERROR(IF(DATE(N$2,MONTH(TODAY()),DAY(TODAY()))>TODAY(),"""",LOOKUP(DATE(N$2,MONTH(TODAY()),DAY(TODAY()))-$E3,{0,364,2189,5475},{0,14,20,26})),"""")"
        .Range("F3:AR" & SatirSay).Value = .Value
    End With
    MsgBox "Tamamlandı."
End Sub
 
Son düzenleme:
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Teşekkürler hocam deniyorum
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
istediğim gibi oldu hocam çokk teşekkür ederim . İyi akşamlar dilerim
 
Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Merhaba muzaffer hocam kodun .Range("F3:AR" & SatirSay).Value = .Value bölümünde hata vermektedir. sebebi nedir acaba ilk denediğimde sıkıntı yoktu ama
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Yanlışlıkla kodlarda bir değişiklik yapmış olabilir misiniz?
Yukarıdaki kodları yeniden kopyalayıp deneyin.
Yine hata verirse ne hatası verdiğini de söyleyin.
 

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,105
Excel Vers. ve Dili
office2010
Formuller, ad tanımlar ve koşullu biçimler olmadan yapılan çalışma.
 

Ekli dosyalar

Katılım
4 Eylül 2020
Mesajlar
394
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
22-11-2022
Formuller, ad tanımlar ve koşullu biçimler olmadan yapılan çalışma.
Hocam bu mükemmel olmuş gerçekten cok farklı bir çalışma . Orjianl dosyama uyarlama şansınız varmıdır acaba ben yapamam bunu çünkü. Userform üzerinden yeni personel kayıt yapıyorum . Yeni izin girişinide userform üzerinden izin kayıt üzerinden yapıyorum . Eğer bu yaptgınız çalışma bu dosya üzerinden mükemmel olucak
 

Ekli dosyalar

Üst