• DİKKAT

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

CheckBox işaretine göre hücreye formül yazma.

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
İyi geceler arkadaşlar.
Ekteki belgede Şablon isimli sekmede 3 adet CheckBox var.
CheckBox1 işaretli ise F5 hücresine;
Kod:
=EĞER(F1="";"";EĞER(AY(F1)=1;DÜŞEYARA(YIL(F1)-1;Endeks!$J$8:Endeks!$V$16;KAÇINCI("ARALIK";Endeks!$J$7:Endeks!$V$7;0));DÜŞEYARA(YIL(F1);Endeks!$J$8:Endeks!$V$16;KAÇINCI(METNEÇEVİR(F1-1;"aaaa");Endeks!$J$7:$V$7;0))))

E5 hücresine ise;
Kod:
=EĞER(C5="";"";EĞER(AY(C5)=1;DÜŞEYARA(YIL(C5)-1;Endeks!$J$8:Endeks!$V$16;KAÇINCI("ARALIK";Endeks!$J$7:Endeks!$V$7;0));DÜŞEYARA(YIL(C5);Endeks!$J$8:Endeks!$V$16;KAÇINCI(METNEÇEVİR(C5-1;"aaaa");Endeks!$J$7:$V$7;0))))

CheckBox2 işaretli ise F5 hücresine;
Kod:
=EĞER(F1="";"";EĞER(AY(F1)=1;DÜŞEYARA(YIL(F1)-1;Endeks!$J$21:Endeks!$V$29;KAÇINCI("ARALIK";Endeks!$J$20:Endeks!$V$20;0));DÜŞEYARA(YIL(F1);Endeks!$J$21:Endeks!$V$29;KAÇINCI(METNEÇEVİR(F1-1;"aaaa");Endeks!$J$20:Endeks!$V$20;0))))

E5 hücresine;
Kod:
=EĞER(C5="";"";EĞER(AY(C5)=1;DÜŞEYARA(YIL(C5)-1;Endeks!$J$21:Endeks!$V$29;KAÇINCI("ARALIK";Endeks!$J$20:Endeks!$V$20;0));DÜŞEYARA(YIL(C5);Endeks!$J$21:Endeks!$V$29;KAÇINCI(METNEÇEVİR(C5-1;"aaaa");Endeks!$J$20:Endeks!$V$20;0))))

CheckBox3 işaretli ise F5 hücresine;
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)))))

E5 hücresine;
Kod:
=EĞER(C5="";"";EĞER(AY(C5)=1;İNDİS(Endeks!$L$37:Endeks!$L$125;TOPLA.ÇARPIM(KAÇINCI(YIL(C5)-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(C5)&METNEÇEVİR(E5-1;"aaaa");Endeks!$I$37:Endeks!$I$125&Endeks!$J$37:Endeks!$J$125;0)))))

formülleri ile alınan değerlerin makro ile alınması mümkünmüdür.
İlgilenecek arkadaşlara minnettar olurum.
 

Ekli dosyalar

Son düzenleme:
İyi akşamlar arkadaşlar.
Makro kaydet yöntemi ile aldığım makroları CheckBox1 ve CheckBox2 ye atayabildim.
Çalışma ekteki belgenin Şablon ve Endeks sekmelerinde bulunmaktadır.

Örnek kod:
Kod:
Private Sub CheckBox1_Click()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

If Me.CheckBox1.Value = True Then
Sheets("Şablon").Range("F3") = "TEFE"
[F5].Value = "=IF(R[-4]C="""","""",IF(MONTH(R[-4]C)=1,VLOOKUP(YEAR(R[-4]C)-1,Endeks!R8C2:Endeks!R16C14,MATCH(""ARALIK"",Endeks!R7C2:Endeks!R7C14,0)),VLOOKUP(YEAR(R[-4]C),Endeks!R8C2:Endeks!R16C14,MATCH(TEXT(R[-4]C-1,""aaaa""),Endeks!R7C2:R7C14,0))))"
[F6:F23].Value = "=IF(RC[-3]="""","""",R5C6)"
[E5:E23].Value = "=IF(RC[-2]="""","""",IF(MONTH(RC[-2])=1,VLOOKUP(YEAR(RC[-2])-1,Endeks!R8C2:Endeks!R16C14,MATCH(""ARALIK"",Endeks!R7C2:Endeks!R7C14,0)),VLOOKUP(YEAR(RC[-2]),Endeks!R8C2:Endeks!R16C14,MATCH(TEXT(RC[-2]-1,""aaaa""),Endeks!R7C2:R7C14,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 TEFE Endeksine Göre Hesaplandı.", vbOKOnly + vbInformation, "Süleyman Savaş"

Else
[E5:F23].Value = ClearContents
End If
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

Ancak CheckBox3 için aşağıdaki formülün makro karşılığını almak isteyince kaydedilemiyor diye hata mesajı aldım.
Kod:
=EĞER(F1="";"";EĞER(AY(F1)=1;İNDİS(Endeks!$D$36:Endeks!$D$130;TOPLA.ÇARPIM(KAÇINCI(YIL(F1)-1&"Aralık";Endeks!$A$36:Endeks!$A$130&Endeks!$B$36:Endeks!$B$130;0)));İNDİS(Endeks!$D$36:Endeks!$D$130;TOPLA.ÇARPIM(KAÇINCI(YIL(F1)&METNEÇEVİR(F1-1;"aaaa");Endeks!$A$36:Endeks!$A$130&Endeks!$B$36:Endeks!$B$130;0)))))
Sorunun çözümü için bilgi ve tecrübelerinize ihtiyacım var.
 

Ekli dosyalar

merhaba checkbox işaretliyken örneğin b11 hücresine

Kod:
İNDİS($G$20:$H$46;KAÇINCI($C$5;$G$20:$G$46;);KAÇINCI($A$11;$G$19:$H$19;))


formülünü kullandırıp işaretli değilken de manuel giriş yapabileceğim kodu sizin örneğinize göre kendime uyarlama çalışıyorum ama yapamadımi yardımcı olabilirmisiniz.
 
merhaba checkbox işaretliyken örneğin b11 hücresine

Kod:
İNDİS($G$20:$H$46;KAÇINCI($C$5;$G$20:$G$46;);KAÇINCI($A$11;$G$19:$H$19;))


formülünü kullandırıp işaretli değilken de manuel giriş yapabileceğim kodu sizin örneğinize göre kendime uyarlama çalışıyorum ama yapamadımi yardımcı olabilirmisiniz.

Merhaba
Kod:
Private Sub CheckBox1_Click()
If Me.CheckBox1.Value = True Then
......Kodlarınız
Else
[COLOR="Blue"][E5:F23].Value = ClearContents[/COLOR]
End If
End Sub
Renkli olan kod ile CheckBox'ın işareti kaldırılınca istenen hücreleri temizleniyor. Bu durumda temizlenen hücreye manuel giriş yapabilirsiniz. Ancak CheckBox'a işaret konunca manuel yazdığınız formül silinecektir.
 
teşekkür ediyorum ilginiz için,
yapmak istediğim sizin örnekte olduğu gibi ENDEKS sayfasındaki j2 hücresine checkbox1 ile yazdırdığınız formülü kendi formülüme göre uyarlamakdı, kendim sadece tek hücreye yazdırıcam formülü
 
tablomda kullandığım
Kod:
İNDİS($G$20:$H$46;KAÇINCI($C$5;$G$20:$G$46;);KAÇINCI($A$11;$G$19:$H$19;))

formülümü check box1 e atarken vb içine aynı şekilde yazamıyoruzz sanırım ?
 
chexbox

merhaba
chexbox işaretliyse a1 değeri 1, değilse 0 olacak şekilde nasıl formül yazabilirim ?
 
Bu şekilde deneyebilirsiniz.
Kod:
Private Sub CheckBox1_Change()
If Sayfa1.CheckBox1 Then
[a1] = 1
Else
[a1] = 0
End If
End Sub
Nesneye de link verebilirsiniz.
 
Hocam her iki yolu da izlediğimde aşağıdaki chexbox adında hata alıyorum. Office 2012 türkçe kullanıyorum. Aşağıdaki satın nasıl olmalı ? Teşekkürler.

If OnayKutusu1.Value = True Then
 
merhaba
chexbox işaretliyse a1 değeri 1, değilse 0 olacak şekilde nasıl formül yazabilirim ?

Hala ihtiyacınız var ise...

yok ise de, çözüm bulduğunuzda çözümlerinizi paylaşırsanız daha güzel olmaz mı :)

Kod:
Private Sub CheckBox1_Change()
If CheckBox1.Value Then
  Cells(1, 1).Value = 1
Else
  Cells(1, 1).Value = 0
End If
End Sub
 
Geri
Üst