• DİKKAT

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

ÇOK DEĞİŞKENLİ FORMÜLLERİ MAKROYA ÇEVİRMEK İSTİYORUM

manonfire

Altın Üye
Katılım
24 Mayıs 2008
Mesajlar
57
Excel Vers. ve Dili
365 pro tr + 2016 pro plus tr
Merhaba arkadaşlar,
Hiç makro yazmadım şimdiye kadar. Bir yerden sonra gerçekten formülle çözülemeyecek durumların oluşmasından dolayı aşağıdaki gibi vb değişkenleri fazla( ne yazık ki bundan daha fazla değişkeni olanlar da var) olan formülleri makroya çevirmek istiyorum nasıl yapılır bana yardımcı olur musunuz?


EĞER($K$3<>0;$K$3-($A$3*2)-$I$3;0)

EĞER(VE($N$3<>0;$P$3=0;$Q$3=0);$N$3-($A$3*2)-$I$3;EĞER(VE($N$3<>0;$P$3=1;$Q$3=0);$N$3-($A$3+$B$3)-$I$3;EĞER(VE($N$3<>0;$P$3=0;$Q$3=1);$N$3-($A$3+$D$3)-$I$3;0)))

EĞER(VE($K$5<>0;$S$3=1);$K$5-($A$3+$A$3/2+$I$3);EĞER(VE($K$5<>0;$S$3=1);$K$5-($A$3+$A$3/2+$I$3);EĞER(VE($K$5=0;$S$3=1);0;0)))

EĞER(VE($M$5=0;$L$5<>0;$X$3=2;$S$3=1);$L$5-($A$3+$A$3/2+$C$3*2+$G$3*2+$I$3+$J$3);EĞER(VE($M$5=0;$L$5<>0;$X$3=0;$S$3=1);$L$5-($A$3+$A$3/2+$I$3);EĞER(VE($M$5<>0;$L$5<>0;$X$3=2;$S$3=1);$L$5-($A$3/2+$A$3/2+$C$3*2+$G$3*2+$I$3+$J$3);EĞER(VE($M$5<>0;$L$5<>0;$X$3=0;$S$3=1);$L$5-($A$3/2+$A$3/2+$I$3);EĞER(VE($L$5<>0;$X$3=2;$S$3=1);$L$5-($A$3+$A$3/2+$C$3*2+$G$3*2+$I$3+$J$3);EĞER(VE($L$5<>0;$X$3=0;$S$3=1);$L$5-($A$3+$A$3/2+$I$3);EĞER(VE($L$5=0;$X$3=0;$S$3=1);0)))))))
 
Sadece bir fikir; öncelikle koşulları bir yere yazın ve uygun aracı kullanın.
Yazacağınız kodda döngülere yer vermek zorundasınız. (Select Case yada If End If, For Next)
 
hamitcan cevabın için teşekkürler. fakat hiç makro yazmadığımdan fikrini uygulama gibi bir şansım yok ne yazık ki. arkadaşlardan yardım bekliyorum bu yüzden örnek olarak makroya çevrim yapılırsa devamını getiririm diye düşünüyorum.
 
Yazdığınız formüller eksik.Bu formüller hangi satırlara uygulanmış belirsiz.(Hangi formül hangi hücreye yazılaçak)
 
Son düzenleme:
formüller eksik derken anlamadım.dosyayı mı göndermem gerekiyor.hoş hala üzerinde çalıştığım bayağı yer var. çok fazla değişken var. çünkü .:(
 
formüller eksik derken anlamadım.dosyayı mı göndermem gerekiyor.hoş hala üzerinde çalıştığım bayağı yer var. çok fazla değişken var. çünkü .:(
Sanırım ben anlatamıyorum.Örneğin Aşağıdaki formülün sonuçu hangi hücrede görüleçek veya aşağıdaki formülünüz hangi hücrede yazıyor.Bunun gibi diğer formüller içinde bu soru geçerli.Sanırım anlamışsınızdır?
Kod:
=EĞER($K$3<>0;$K$3-($A$3*2)-$I$3;0)
 
Sanırım ben anlatamıyorum.Örneğin Aşağıdaki formülün sonuçu hangi hücrede görüleçek veya aşağıdaki formülünüz hangi hücrede yazıyor.Bunun gibi diğer formüller içinde bu soru geçerli.Sanırım anlamışsınızdır?
Kod:
=EĞER($K$3<>0;$K$3-($A$3*2)-$I$3;0)


günaydın anlaşıldı. bu formülün yazıldığı hücre b9
 
Formül olarak hücreye yazma kodu
Kod:
Sub formulyaz
Range("B9").FormulaLocal = "=EĞER($K$3<>0;$K$3-($A$3*2)-$I$3;0)"
end sub
Makro olaraka formülün yazımı.
Kod:
Sub makroyap()
If Range("K3") <> 0 Then
Range("B9") = [K3] - ([A3] * 2 - [I3])
Else
Range("C3") = 0
End If
end sub
 
Sub makroyap() If Range("K3") <> 0 Then Range("B9") = [K3] - ([A3] * 2 - [I3]) Else Range("C3") = 0 End If end sub
cevabınız teşekkürler C3 hücresini yanlışlıkla yazdınız galiba onu silince sonucu doğru verdi. En azından makro öğrenene kadar aşağıdaki gibi formülü çevirebilir misiniz. ben sizin gönderdiğiniz makronun üzerinden AND ekleyerek yapmaya çalıştım fakat olmadı.

EĞER(VE($N$3<>0;$P$3=0;$Q$3=0);$N$3-($A$3*2)-$I$3;EĞER(VE($N$3<>0;$P$3=1;$Q$3=0);$N$3-($A$3+$B$3)-$I$3;EĞER(VE($N$3<>0;$P$3=0;$Q$3=1);$N$3-($A$3+$D$3)-$I$3;0)))
 
C3 Yanlış olmuş B9 olaçak.Aşağıdaki işlem sonucu B9 Hücresinde görünür.
Kod:
Sub makroyap()
If [N3] <> 0 And [P3] = 0 And [Q3] = 0 Then
Range("B9") = [N3] - ([A3] * 2 - [ı3])
ElseIf [N3] <> 0 And [P3] = 1 And [Q3] = 0 Then
Range("B9") = [N3] - ([A3] + [b3] - [ı3])
ElseIf [N3] <> 0 And [P3] = 0 And [Q3] = 1 Then
Range("B9") = [N3] - ([A3] + [d3] - [ı3])
Else
Range("B9") = 0
End If
End Sub
 
Son düzenleme:
Geri
Üst