• DİKKAT

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

yazıyla formülünde küsürat yuvarlama

Katılım
16 Temmuz 2006
Mesajlar
188
Excel Vers. ve Dili
xp profesional 2002
merhaba arkadaşlar:
yazıyla formulünü fatura yazdırmada kullanmak istiyorum. fakat gönderdiğim ekteki sorun çıkıyor. yardımcı olurmusunuz.
 
Eğewr anlattıklarınızdan yanlıs anlamadıysam çözüm aşagıdaki gibi önerebilirim.


Formatcell>Number>Number>Decimal Places değerini 0 yap

Türkçesi için atıyorum:

HücreÖzellikleri>Numara>Numara>Ondalık
 
bu makroyu kullanıyorum ve yukarıdaki resimdeki sonuç çıkıyor. yani orada atıyorum 4 yazarken yazıya üç yazıyor. 4 deki küsüratın farkındayım ama ben hücrede görülen yazının yazılmasını istiyorum.
Option Explicit
Function USD(sayi As Currency)
'Parasal Rakamı yazıyla yazar

Dim asayi As String
Dim küsur As String
Dim negatif As Byte
Dim syazi As String

If IsNumeric(sayi) Then
sayi = Int(sayi * 100) / 100
If sayi < 0 Then
negatif = 1
sayi = Abs(sayi)
End If
asayi = Format(sayi, "000000000000000.00")
küsur = String(13, "0") & Right(asayi, 2)
asayi = Left(asayi, 15)
If negatif = 1 Then syazi = "Eksi "
syazi = syazi & yçevir(asayi) & " % " & yçevir(küsur) & " AMERİKAN DOLARIDIR"
Else
syazi = "Hata"
End If
USD = syazi
End Function

Function yçevir(sayi As String)
Dim birler, onlar(9) As String, bsayi(4) As String
Dim rakamlar(15) As Byte
Dim basamak(3) As Byte
Dim x As Byte, yazi As String, syazi As String

birler = Array("", "Bir", "İki", "Üç", "Dört", "Beş", "Altı", "Yedi", "Sekiz", "Dokuz")

onlar(0) = "": onlar(1) = "On": onlar(2) = "Yirmi": onlar(3) = "Otuz"
onlar(4) = "Kırk": onlar(5) = "Elli": onlar(6) = "Altmış"
onlar(7) = "Yetmiş": onlar(8) = "Seksen": onlar(9) = "Doksan"

bsayi(0) = "Trilyon ": bsayi(1) = "Milyar ": bsayi(2) = "Milyon "
bsayi(3) = "Bin ": bsayi(4) = ""

For x = 1 To 15
rakamlar(x) = Val(Mid(sayi, x, 1))
Next
For x = 0 To 4
basamak(1) = rakamlar((x * 3) + 1)
basamak(2) = rakamlar((x * 3) + 2)
basamak(3) = rakamlar((x * 3) + 3)
If basamak(1) = 0 Then
yazi = ""
ElseIf basamak(1) = 1 Then
yazi = "Yüz"
Else
yazi = birler(basamak(1)) + "Yüz"
End If
yazi = yazi + onlar(basamak(2)) + birler(basamak(3))
If yazi <> "" Then yazi = yazi + bsayi(x)
If (x = 3) And (yazi = "BirBin ") Then yazi = "Bin"
syazi = syazi + yazi
Next
If syazi = "" Then
syazi = "Sıfır"
End If
yçevir = syazi
End Function
 
arkada&#351;lar bu sorunumun &#231;&#246;z&#252;m&#252; yokmu ? yoksa yanl&#305;&#351; yapt&#305;&#287;&#305;m bir&#351;eylermi var?
 
Sorun yaz&#305;ya g&#246;nderdi&#287;iniz say&#305;n&#305;n asl&#305;da 4 olmamas&#305;nda sizin de anlad&#305;&#287;&#305;n&#305;z gibi.

&#199;&#246;z&#252;m orada yazan say&#305;n&#305;n 4 olmas&#305;n&#305; sa&#287;lamak. Yani orada yazan say&#305;y&#305; bir &#351;ekilde ger&#231;ekten 4 yapacaks&#305;n&#305;z. rar l&#305; dosyan&#305;za a&#231;amad&#305;&#287;&#305;m i&#231;in bakam&#305;yorum. Tahminen bir &#231;&#246;z&#252;m &#246;nerirsem; 4 yazan h&#252;crenin A5 h&#252;cresi oldu&#287;unu d&#252;&#351;&#252;nerek A5 e

=tavanayuvarla(.....;1)

yazabilirsiniz.


..... l&#305; yere orada halihaz&#305;rda olan formul&#252; yaz&#305;n&#305;z.


Umar&#305;m do&#287;ru anlam&#305;&#351; ve do&#287;ru anlatm&#305;&#351;&#305;md&#305;r.
 
say&#305;n acarselcuk1
bu sorunu b&#246;yle bir form&#252;llede kolayca yapabilirsiniz : =yuvarla(.....;2)
 
say&#305;n Serpily
ilginizden dolay&#305; te&#351;ekk&#252;r ederim. sorunum &#231;&#246;z&#252;ld&#252;.
 
Geri
Üst