• DİKKAT

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

Makro kaydetme başarısız oluyor.

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Günaydın arkadaşlar.
Aşağıdaki formülün makro karşılığını, makro kaydet yöntemi ile almak istediğimde kaydedilemiyor diye hata mesajı alıyorum.
Kod:
=EĞER(F1="";"";EĞER(AY(F1)=1;İNDİS(Endeks!$L$37:Endeks!$L$125;TOPLA.ÇARPIM(KAÇINCI(YIL(F1)-1&"Aralık";Endeks!$I$37:Endeks!$I$125&Endeks!$J$37:Endeks!$J$125;0)));İNDİS(Endeks!$L$37:Endeks!$L$125;TOPLA.ÇARPIM(KAÇINCI(YIL(F1)&METNEÇEVİR(F1-1;"aaaa");Endeks!$I$37:Endeks!$I$125&Endeks!$J$37:Endeks!$J$125;0)))))
Bu formülün makro karşılığını almak için başka bir yöntem varmıdır.
 
Örnek bir dosya eklerseniz sonuca daha kolay ulaşırsınız.
 
Endeks sayfasında seçilen hücre aralıklarını Alan Adı olarak tanımladığınızda sorun çözülüyor. Ekli dosyada dinamik alan tanımlayarak yapmaya çalıştım ancak sayfada 2 farklı formül mevcut bu yüzden F5 hücresine yazmış olduğunuz ilk formülü getiriyor. Bence mantığı bu şekilde yürüterek değişiklikleri kendiniz yapın.
 

Ekli dosyalar

Arkadaşım teşekkür ederim.
Sayenizde problem çözüldü.
Kod:
Private Sub CheckBox3_Click()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

If Me.CheckBox3.Value = True Then
[F5].Value = "=IF(R[-4]C="""","""",IF(MONTH(R[-4]C)=1,INDEX(END_D,SUMPRODUCT(MATCH(YEAR(R[-4]C)-1&""Aralık"",END_A&END_B,0))),INDEX(END_D,SUMPRODUCT(MATCH(YEAR(R[-4]C)&TEXT(R[-4]C-1,""aaaa""),END_A&END_B,0)))))"
[F6:F23].Value = "=IF(RC[-3]="""","""",R5C6)"
[E5:E23].Value = "=IF(RC[-2]="""","""",IF(MONTH(RC[-2])=1,INDEX(END_D,SUMPRODUCT(MATCH(YEAR(RC[-2])-1&""Aralık"",END_A&END_B,0))),INDEX(END_D,SUMPRODUCT(MATCH(YEAR(RC[-2])&TEXT(RC[-2]-1,""aaaa""),END_A&END_B,0)))))"
[G5:g23].Value = "=IF(RC[-2]="""","""",RC[-1]/RC[-2])"
[A5].Value = "=IF(RC[1]="""","""",COUNTA(R5C2:RC[1]))"
[H5:H23].Value = "=IF(RC[-5]="""","""",RC[-4]*RC[-1])"
[A6:a23].Value = "=IF(RC[1]="""","""",COUNTA(R6C2:RC[1])+1)"
[A24].Value = "=COUNT(R[-19]C:R[-1]C)"
MsgBox "" & Range("B3") & " Alımına İlişkin Yaklaşık Maliyet ÜFE Endeksine Göre Hesaplandı.", vbOKOnly + vbInformation, "Süleyman Savaş"

Else
[E5:F23].Value = ClearContents
End If
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
 
Rica ederim, yardımcı olabildiysem ne mutlu bana :) Makrolarda bu kadar uzun formüller oluşturulmaya kalkıldığında ne yazık ki çoğunlukla hata veriyor. Neyse ki Dinamik Alan tanımlaması diye bir şey mevcut :)
 
Geri
Üst