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.
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
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
 
Katılım
16 Temmuz 2006
Mesajlar
188
Excel Vers. ve Dili
xp profesional 2002
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
 
Katılım
16 Temmuz 2006
Mesajlar
188
Excel Vers. ve Dili
xp profesional 2002
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?
 
Katılım
28 Temmuz 2004
Mesajlar
275
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.
 
Katılım
30 Nisan 2005
Mesajlar
41
Excel Vers. ve Dili
office 2007 tr
Altın Üyelik Bitiş Tarihi
26-04-2022
say&#305;n acarselcuk1
bu sorunu b&#246;yle bir form&#252;llede kolayca yapabilirsiniz : =yuvarla(.....;2)
 
Katılım
16 Temmuz 2006
Mesajlar
188
Excel Vers. ve Dili
xp profesional 2002
say&#305;n Serpily
ilginizden dolay&#305; te&#351;ekk&#252;r ederim. sorunum &#231;&#246;z&#252;ld&#252;.
 
Üst