• DİKKAT

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

Makro ile yuvarlama yapma

Katılım
19 Şubat 2009
Mesajlar
152
Excel Vers. ve Dili
6
Merhaba arkadaşlar şöyle bir kodum var

1.kod a = WorksheetFunction.Large(Range("AA579:EB579"), w)
2.kod a = WorksheetFunction.RoundUp(a, 2)

1.inci kodum da Range("AA579:EB579") arasındaki en büyük sayıyı bulup a değişkenine atıyorum.Ondan sonra a değişkenini yuvarla ile virgülden sonraki 2 basamağı alıyorum.Buraya kadar herşey normal fakat şöyle bir durum var bu aralık arasında ondalık basamak sayısı virgülden sonraki 2.ci sayı 0 ile devam ediyorsa virgülden sonra 2 basamak yapmıyor bir basamak yapıyor.

Örnek : a = range("AA580") = 6,50
a = WorksheetFunction.RoundUp(a, 2) dediğim zaman a nın aldığı değer 6,5 oluyor oysa 2 virgülden sonrasını aldığımdan 6,50 olması gerekiyor fakat bir türkü çözemedim.Forumdada aradım bulamadım.Normalde virgülden sonraki ikinci basamak 0 olmasa bir sorun olmuyor.Yardımlarınız için teşekkürler....
 
a değişkenini decimal yaparsanız sorun çözülür

dim a as decimal
 
Yazdım Dim a As Currency fakat değişen birşey olmadı.Hücrede 6,50 yazıyor.Fakat ben değişkene atadığımda 6,5 çıkıyor.Başka bir şekli var mıdır? 6,50 rakamını 6,51 ile değiştiriyorum değişkene atatdığım zaman aynı şekilde 6,51 olarak atıyor.Fakat 6,50 6,5 olarak atıyor.
 
son çare

Dim Rakam As Double
Rakam = 0.1
Dim f As Variant
f = FormatNumber(Rakam, 2)
 
Maleseff olmadı.Ben başka bir şekilde olayı çözdüm.hücrelerin biçimlerini genel olarak değiştirdim.Bu şekilde hücrede görünüm olarak 6,5 yazdığı için bulabiliyorum.Yardımlarınız için teşekkürler
 
Geri
Üst