• DİKKAT

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

Evaluate kullanımı

Katılım
7 Mart 2005
Mesajlar
313
Excel Vers. ve Dili
Excel 2013 Türkçe
Merhabalar makroda evaluate kullanmak istiyorum. Formüllerin görünmesini istemiyorum. Aşağıdaki şekilde bir makro yazdım. makro normal çalışıyor ancak evaluate'i ilave ettiğmde hata alıyorum. yanlışım nerede yada hücrede sadece formülün sonucunu nasıl gösterebilirim?

Sub hesapla()

Dim a As Integer
For a = 8 To [a50000].End(3).Row

Sheets("Sayfa2").Cells(a, 8) = Evaluate("=IFERROR(VALUE(LEFT(RC[-1],FIND(""/"",RC[-1],1)-1))/VALUE(RIGHT(RC[-1],LEN(RC[-1])-LEN(LEFT(RC[-1],FIND(""/"",RC[-1],1))))),0)")

Next a


End Sub

teşekkürler.

soykan
 
Bir şey daha sorabilir miyim. Bu işlemlerden sonra en altta "=SUMPRODUCT((VALUE(LEFT(R[-12]C:R[-1]C,FIND(""/"",R[-12]C:R[-1]C,1)-1))))&""/""&SUMPRODUCT((VALUE(RIGHT(R[-12]C:R[-1]C,LEN(R[-12]C:R[-1]C)-LEN(LEFT(R[-12]C:R[-1]C,FIND(""/"",R[-12]C:R[-1]C,1)))))))"
böyle bir formülüm var burada da yukarudaki 40/50, 8/15 gibi kesirli sayıların önce sol dakilerini toplayıp / koyup sağdakilerini toplatıyorum ve aşağıya bunu yazdırıyorum. bunu da sadaece değer olarak göstermek istiyorum söz gelimi 48/65 gibi bunu nasıl yazdırabilirim.

.value=.value yerine
.text=.text denedim olmadı.

Soykan
 
Örnek dosya eklemeniz mümkün mü?
 
Merhaba,

Eklediğiniz dosyada bir sorun yok makro çalışıyor.
 
Yukarıda sorduğum topla.çarpım fonksiyon sonucu 4/8 yerine ben oraya 4/8 yazdırsın istiyorum.
diğer makrolarda sorun yok altta toplamı aldırıp yine yanda % sini bulmak istiyorum ki bun da dediğiniz gibi problem yok sizin dediğiniz gibi yaptım. Sorun G20 hücresinde.
 
Yukarıda sorduğum topla.çarpım fonksiyon sonucu 4/8 sonucu 0,50 yerine ben oraya 4/8 yazdırsın istiyorum.
diğer makrolarda sorun yok altta toplamı aldırıp yine yanda % sini bulmak istiyorum ki bun da dediğiniz gibi problem yok sizin dediğiniz gibi yaptım. Sorun G20 hücresinde.
 
Metinsel ifadeler sorun çıkarıyor sanırım. Aşağıdaki gibi deneyin.

Kod:
Sub hesapla2()
    Dim s As Integer, Veri1, Veri2
    
    With Range("h8:h" & Cells(Rows.Count, 1).End(3).Row)
        .Formula = "=IFERROR(round(VALUE(LEFT(G8,FIND(""/"",G8,1)-1))/VALUE(RIGHT(G8,LEN(G8)-LEN(LEFT(G8,FIND(""/"",G8,1))))),2),0)"
        .Value = .Value
    End With
    With Range("j8:j" & Cells(Rows.Count, 1).End(3).Row)
        .Formula = "=IFERROR(round(VALUE(LEFT(I8,FIND(""/"",I8,1)-1))/VALUE(RIGHT(I8,LEN(I8)-LEN(LEFT(I8,FIND(""/"",I8,1))))),2),0)"
        .Value = .Value
    End With
    With Range("L8:L" & Cells(Rows.Count, 1).End(3).Row)
        .Formula = "=IFERROR(round(VALUE(LEFT(K8,FIND(""/"",K8,1)-1))/VALUE(RIGHT(K8,LEN(K8)-LEN(LEFT(K8,FIND(""/"",K8,1))))),2),0)"
        .Value = .Value
    End With
    
    With Range("F8:F" & Cells(Rows.Count, 1).End(3).Row)
        .Formula = "=VALUE(LEFT(RC[1],FIND(""/"",RC[1],1)-1))*2+VALUE(LEFT(RC[3],FIND(""/"",RC[3],1)-1))*3+VALUE(LEFT(RC[5],FIND(""/"",RC[5],1)-1))"
        .Value = .Value
    End With
    s = [g50000].End(3).Row
    With Range("G" & s)
        Veri1 = Evaluate("=SUMPRODUCT((VALUE(LEFT(G8:G19,FIND(""/"",G8:G19,1)-1))))")
        Veri2 = Evaluate("=SUMPRODUCT((VALUE(RIGHT(G8:G19,LEN(G8:G19)-LEN(LEFT(G8:G19,FIND(""/"",G8:G19,1)))))))")
        .NumberFormat = "@"
        .Value = Veri1 & "/" & Veri2
    End With
End Sub
 
Süpersiniz çok çok teşekkürler
 
Geri
Üst