• DİKKAT

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

makroda formül kullanma

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,543
Excel Vers. ve Dili
2021 LTSC TR
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Satır As Long, Formül As String
.
.
.
.
.
Formül = "=IF(L6<=10,K6+(L6*O6*P6*Q6),K6+(10*O6*P6*Q6)+((L6-10)*O6*P6*Q6*0.5))"
Yol = "=IF(E6="","",(I6=Asf)*1+(I6=Stb)*1.1+(I6=Topr)*1.2+(I6=Asf,Kar,Zinc)*1.05+(I6=Stab,Kar,Zinc)*1.15+(I6=Topr,Kar,Zinc)*1.25+(I6=Asf,Dağ,Eğiml)*1.05+(I6=Stab,Dağ,Eğiml)*1.15+(I6=Topr,Dağ,Eğiml)*1.25+(I6=Asf,Dağ,Eğiml,Kar,Zinc)*1.1+(I6=Stab,Dağ,Eğiml,Kar,Zinc)*1.2+(I6=Topr,Dağ,Eğiml,Kar,Zinc)*1.3))"
.
.
.
Formül = Replace(Formül, 6, Satır)
Yol = Replace(Yol, 6, Satır)
.
.
Cells(Satır, "S") = Evaluate(Formül)
Cells(Satır, "O") = Evaluate(Yol)


Ustalarıma sorum şu olacak


Formül kullanmak istesem
Kaç tane formül kullanabilirim?
Her formüle ad nasıl verebilirim?

Teşekkür ederim.
 
Merhaba,

Kullandığınız formüllerinizde bir ritim varsa döngü kurarak kısa bir yapı ile formüllerinizi makroya çevirebilirsiniz.
 
Korhan abi
Yukarıda ki kod için yine siz yardımcı olmuştunuz?
Yeni bir ekleme yapma ihtiyacı doğdu.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Satır As Long, Formül As String
    On Error GoTo Son
    If Intersect(Target, Range("K6:Q" & Rows.Count)) Is Nothing Then Exit Sub
    Satır = Target.Row
    Formül = "=IF(L6<=10,K6+(L6*O6*P6*Q6),K6+(10*O6*P6*Q6)+((L6-10)*O6*P6*Q6*0.5))"
    Formül = Replace(Formül, 6, Satır)
    Application.EnableEvents = False
    Cells(Satır, "S") = Evaluate(Formül)
    Cells(Satır, "T") = Cells(Satır, "R") * Cells(Satır, "S")
Son:
    Application.EnableEvents = True
End Sub
Esas kod yukarıda arz ettiğim kod
Bu kodun içerisine

"=IF(E6="","",(I6=Asf)*1+(I6=Stb)*1.1+(I6=Topr)*1.2+(I6=Asf,Kar,Zinc)*1.05+(I6=Stab,Kar,Zinc)*1.15+(I6=Topr,Kar,Zinc)*1.25+(I6=Asf,Dağ,Eğiml)*1.05+(I6=Stab,Dağ,Eğiml)*1.15+(I6=Topr,Dağ,Eğiml)*1.25+(I6=Asf,Dağ,Eğiml,Kar,Zinc)*1.1+(I6=Stab,Dağ,Eğiml,Kar,Zinc)*1.2+(I6=Topr,Dağ,Eğiml,Kar,Zinc)*1.3))"
şeklindeki formülü eklemek istiyorum.

Yardımcı olabilir misiniz?
 
Geri
Üst