nsat makro karşılığı

Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
nsat makro olarak nasıl kullanabilirim. Aşağıdaki kodun virgülden sonra 5 hanesini dikkate almasını istiyorum. Yuvarla ile kullanmak istemiyorum.

Kod:
Round((s1.Cells(i, "B") / 1.18), 5)
 
NSAT daha önce kullanmadım ama Excel yardımından ondalık kısmını iptal edip tamsayıya yuvarlama yaptığını okudum. Bu durumda ondalık yani virgülden sonraki kısım iptal olacağından sizin isteğiniz olan "virgülden sonra 5 hane" NSAT formülüyle nasıl dikkate alınacak anlamadım.

Asıl yapmak istediğiniz 1,234567 ve 1,234561 sayılarının her ikisini de 1,23456 olarak alması ise AŞAĞIYUVARLA formülünü deneyiniz.

WorksheetFunction.RoundDown(s1.Cells(i, "B") / 1.18, 5)
 
Teşekkür ederim Yusuf bey bana aşağı yukarı yada 0,5 üzerini yukarıya yuvarlamak çözmüyor. virgülden sonraki 5 haneden sonra tamamen kesmem gerekiyor. fonksiyonda kullanılıyor nsat(değer;5) şeklinde ve işimi görüyor. Tüm düzenlemelerimi makro ile yaptığım için kodun içerisinde düzenlemem gerekiyor.
 
Bu şekilde bişey buldum ama nasıl uygulayacağımı çözemedim.

Kod:
Sub Virgul_2()
    MsgBox Evaluate("=SUMPRODUCT(TRUNC(A1:A1000,2))")
End Sub
 
Şöyle birşey kullanabilirsiniz...

C#:
Function VBA_Trunc(ByVal value As Double, ByVal vDecimal As Integer)
    ' Zeki Gürsoy
    Dim factor As Long
   
    factor = 10 ^ vDecimal
    value = Fix(value * factor)
    VBA_Trunc = value / factor
End Function
 
Zeki bey bunu makro içerisinde nasıl kullanabilirim fonksiyon olarak kullanmak istemiyorum.
 
Deneyiniz.

C++:
Sub Test()
    Veri = Evaluate("TRUNC(" & Range("A1") & "/ 1.18, 5)")
End Sub
 
Hocam yeni bakma fırsatım oldu denedim ama değer hatası veriyor kodu aşağıdaki şekilde kullandım.

Kod:
s2.Cells(satır, "K").Value = Evaluate("TRUNC(" & s1.Cells(i, "H") & "/ 1.18, 5)")
 
Eğer uyguladığınız değer ondalıklı bir değerse aşağıdaki gibi sonuç alabilirsiniz.

C++:
Sub Test()
    Veri = Evaluate("TRUNC(" & Replace(Range("A1"), ",", ".") & "/ 1.18, 5)")
End Sub
 
Teşekkür ederim hocam bu sefer oldu Allah zihin açıklığı versin size.
 
Geri
Üst