rakamý yazýya çevirme [Archive] - Excel Forum

PDA

Tüm Versiyonu Göster : rakamý yazýya çevirme


snarty
10-05-2005, 10:29
arkadaþlar acceste rakamý yazýya çeviren formülü olan varsa rica ediyorum

botel2005
10-05-2005, 14:28
:eek: Evet bunu benimde öðrenmem gerek yardýmcý olurmusunuz... :kafa:

veyselemre
10-05-2005, 15:33
eki inceleyin

derwish
12-05-2005, 20:48
bende excel arýyorum...3 gündür formu inceliyom bi türlü beceremedim... makroyu kaydediyorum.. ancak yazýlmasýný istediðim hücreye makronun adýný mý yazcam yoksa baþka biþiy mi bi türlü çözemedim... lütfen yardýmcý olurmusunuz??? çok basit bi þekilde anlatýn lütfen.. kafam sulandý çünkü... :kafa: :kafa: :kafa: :kafa: :kafa: :kafa: :kafa: :kafa: :kafa:

snarty
14-05-2005, 10:55
bir dosya var. zipli 542 kb. yolluyamýyorum.ne yapmam gerekiyor?

snarty
17-05-2005, 12:13
ilgili dosyadaki raporda genel toplamý gerek rakamla gereksede yazýyla ilave edemedim.yardým rica ediyorum

erhan1988
19-05-2005, 11:03
arkadaþlar yazýyý rakama çeviren bir formul var ben bunu visial basic de sürekli kullanýrdým accessdede baþarýlý .Ben bunu raporlarda toplam kayýt sayýsýný yazýyla yazdýrmak için kullanýyordum .artýk siz kullanacaðýnýz yere göre gerekli deðiþiklikleri yaparsýnýz ,bunun için ilk önce yaptýðýnýz projede yeni bir modul açýn ve adýný da " yaziylarakam " olarak deðiþtirin ve aþþaðýdaki kodu içerisine kopyalayýn.......
Function YAZILINUMARA(gelendeger As Double) As String
Dim V_INT As Double
Dim V_SAYI_YAZI_ILE As String
Dim V_TOPLAM_YAZI_ILE As String
Dim V_SAYI As Double
Dim V_SAYI1 As Double
Dim V_SAYI2 As Double

V_SAYI = 0
V_SAYI1 = 0
V_SAYI2 = 0

V_SAYI = gelendeger Mod 10

If V_SAYI = 1 Then
V_SAYI_YAZI_ILE = "BÝR"
ElseIf V_SAYI = 2 Then
V_SAYI_YAZI_ILE = "ÝKÝ"
ElseIf V_SAYI = 3 Then
V_SAYI_YAZI_ILE = "ÜÇ"
ElseIf V_SAYI = 4 Then
V_SAYI_YAZI_ILE = "DÃ?RT"
ElseIf V_SAYI = 5 Then
V_SAYI_YAZI_ILE = "BEÞ"
ElseIf V_SAYI = 6 Then
V_SAYI_YAZI_ILE = "ALTI"
ElseIf V_SAYI = 7 Then
V_SAYI_YAZI_ILE = "YEDÝ"
ElseIf V_SAYI = 8 Then
V_SAYI_YAZI_ILE = "SEKÝZ"
ElseIf V_SAYI = 9 Then
V_SAYI_YAZI_ILE = "DOKUZ"
Else
V_SAYI_YAZI_ILE = ""
End If
V_TOPLAM_YAZI_ILE = V_SAYI_YAZI_ILE + V_TOPLAM_YAZI_ILE

V_SAYI1 = gelendeger - V_SAYI

If gelendeger >= 10 Then
V_SAYI1 = V_SAYI1 Mod 100


If V_SAYI1 = 10 Then
V_SAYI_YAZI_ILE = "ON"
ElseIf V_SAYI1 = 20 Then
V_SAYI_YAZI_ILE = "YÝRMÝ"
ElseIf V_SAYI1 = 30 Then
V_SAYI_YAZI_ILE = "OTUZ"
ElseIf V_SAYI1 = 40 Then
V_SAYI_YAZI_ILE = "KIRK"
ElseIf V_SAYI1 = 50 Then
V_SAYI_YAZI_ILE = "ELLÝ"
ElseIf V_SAYI1 = 60 Then
V_SAYI_YAZI_ILE = "ALTMIÞ"
ElseIf V_SAYI1 = 70 Then
V_SAYI_YAZI_ILE = "YETMÝÞ"
ElseIf V_SAYI1 = 80 Then
V_SAYI_YAZI_ILE = "SEKSEN"
ElseIf V_SAYI1 = 90 Then
V_SAYI_YAZI_ILE = "DOKSAN"
Else
V_SAYI_YAZI_ILE = ""
End If

V_TOPLAM_YAZI_ILE = V_SAYI_YAZI_ILE + V_TOPLAM_YAZI_ILE

End If

V_SAYI2 = gelendeger - (V_SAYI1 + V_SAYI)

If gelendeger >= 100 Then

V_SAYI2 = V_SAYI2 Mod 1000


If V_SAYI2 = 100 Then
V_SAYI_YAZI_ILE = "YÜZ"
ElseIf V_SAYI2 = 200 Then
V_SAYI_YAZI_ILE = "ÝKÝYÜZ"
ElseIf V_SAYI2 = 300 Then
V_SAYI_YAZI_ILE = "ÜÇYÜZ"
ElseIf V_SAYI2 = 400 Then
V_SAYI_YAZI_ILE = "DÃ?RTYÜZ"
ElseIf V_SAYI2 = 500 Then
V_SAYI_YAZI_ILE = "BEÞYÜZ"
ElseIf V_SAYI2 = 600 Then
V_SAYI_YAZI_ILE = "ALTIYÜZ"
ElseIf V_SAYI2 = 700 Then
V_SAYI_YAZI_ILE = "YEDÝYÜZ"
ElseIf V_SAYI2 = 800 Then
V_SAYI_YAZI_ILE = "SEKÝZYÜZ"
ElseIf V_SAYI2 = 900 Then
V_SAYI_YAZI_ILE = "DOKUZYÜZ"
End If


V_TOPLAM_YAZI_ILE = V_SAYI_YAZI_ILE + V_TOPLAM_YAZI_ILE

End If
If gelendeger = 0 Then
V_TOPLAM_YAZI_ILE = "SIFIR"
End If

YAZILINUMARA = V_TOPLAM_YAZI_ILE

End Function

daha sonra da kullanacaðýnýz raporda, ben kullanýlan malzemenin kaç kalem olduðunu göstermek için kullanýyordum ve raporun ayrýntý bölümüne kayýtlarýn baþýna bir boþ metin kutusu açýp adýna da SNO adý verir ve altada rapor altbilgisi bölümüne de yeni bir text kutusu açýp bu kutunun denetim kaynaðýnada

="////////////////// YALNIZ " & YAZILINUMARA([SNO]) & " (" & [SNO] & ") KALEMDÝR. //////////////////"
yazdýðýnýzda rapordaki malzemenin kaç kalem olduðunu rapor altýnda verir siz burada yukarýdaki SNO adýný verdiðimiz rakam kutusunu aþaðýda ki kutu içinde isim deðiþikliðiyle istediðiniz gibi kullanabilirsiniz,inþallah iþinizi görür kolay gelsin :icelim:

teknik
28-12-2005, 19:56
Arkadaþ lar yukarýdaki kod iyi çalýþýyor ama eksik tarafý 999 dan sonrasýný çevirmiyor ayný mantýkla ilave yaptým 1000 li ama hata verdi eðer ilgilenen arkadaþ varsa milyarlara kadar uzatmak acaba mümkün mü? bir de þayet lira olarak rakamý yazýya çevirecek olsak virgülden sonrasýný acaba nasýl düzenleriz.

teknik
29-12-2005, 07:17
Arkadaþlar yukarýdaki koda ilave kodlar yazmak mümkün deðilmi soruma yardýmcý olursanýz sevinirim.

excile
29-12-2005, 08:00
Slm

Sayýn Raider'in yazdýðý ve Sayýn Jale'nin access için verdiði örneði niye kullanmýyorsunuz.
Buradaki "yaz" fonksiyonu sizin aradýðýnýz.
Rakammetin.zip dosyasýndaki raiderv2 modülünü kopyalayýn.

Bir textboxa =yaz([alanadý]) þeklinde yazarak kullanýn.
Hepsi aþaðýdaki linkte:

http://www.excel.web.tr/viewtopic.php?t=1982&sid=8b53db4750687ed2c5d9a9a02adae7d3

maykus
22-02-2006, 12:42
Arkadaþalr access de rakamý yazýya çevirmek için ben aþaðýdaki formu kullanýyorum.
=yaziyacevir([Fatura Tutar]-[Ýade Fatura Bedeli];1)

ancak modül olarak da aþaðýdaki prog yazmak gerekiyor.

Function yaziyacevir(rakam, kucuk)
'veysel emre tarafýndan yapýlmýþtýr
Dim grup(5), sayi(10, 3), basamak(5), oku(3)
sayi(0, 1) = "": sayi(0, 2) = "": sayi(0, 3) = ""
sayi(1, 1) = "YÜZ": sayi(1, 2) = "ON": sayi(1, 3) = "BÝR"
sayi(2, 1) = "ÝKÝYÜZ": sayi(2, 2) = "YÝRMÝ": sayi(2, 3) = "ÝKÝ"
sayi(3, 1) = "ÜÇYÜZ": sayi(3, 2) = "OTUZ": sayi(3, 3) = "ÜÇ"
sayi(4, 1) = "DÃ?RTYÜZ": sayi(4, 2) = "KIRK": sayi(4, 3) = "DÃ?RT"
sayi(5, 1) = "BEÞYÜZ": sayi(5, 2) = "ELLÝ": sayi(5, 3) = "BEÞ"
sayi(6, 1) = "ALTIYÜZ": sayi(6, 2) = "ALTMIÞ": sayi(6, 3) = "ALTI"
sayi(7, 1) = "YEDÝYÜZ": sayi(7, 2) = "YETMÝÞ": sayi(7, 3) = "YEDÝ"
sayi(8, 1) = "SEKÝZYÜZ": sayi(8, 2) = "SEKSEN": sayi(8, 3) = "SEKÝZ"
sayi(9, 1) = "DOKUZYÜZ": sayi(9, 2) = "DOKSAN": sayi(9, 3) = "DOKUZ"
basamak(5) = "TRÝLYON"
basamak(4) = "MÝLYAR"
basamak(3) = "MÝLYON"
basamak(2) = "BÝN"
basamak(1) = ""
lira = Int(rakam)

' Küçük harflerle yazmasý için
If kucuk = 1 Then
For x = 0 To 9
For y = 1 To 3
sayi(x, y) = Replace(sayi(x, y), "ý", "I")
sayi(x, y) = Replace(sayi(x, y), "i", "Ý")
sayi(x, y) = UCase(sayi(x, y))
Next
Next
For y = 2 To 5
basamak(y) = Replace(basamak(y), "ý", "I")
basamak(y) = Replace(basamak(y), "i", "Ý")
basamak(y) = UCase(basamak(y))
Next
End If


kurus = Round(rakam - lira, 2) * 100
If Len(lira) > 15 Then
MsgBox ("Bu fonksiyon en fazla 15 haneli sayýlar için çalýþýr.")
End
End If
kalan = lira
yaziyacevir = ""

For x = 1 To 5
A = 15 - 3 * x
If Len(lira) > A Then
grup(6 - x) = Int(kalan / 10 ^ A)
kalan = kalan - (grup(6 - x) * 10 ^ A)
End If

Next x

If grup(5) > 0 Then
oku(1) = Int(grup(5) / 100)
baskalan = grup(5) - oku(1) * 100
oku(2) = Int(baskalan / 10)
oku(3) = baskalan - oku(2) * 10
yaziyacevir = sayi(oku(1), 1) + sayi(oku(2), 2) + sayi(oku(3), 3) + basamak(5)
End If

If grup(4) > 0 Then
oku(1) = Int(grup(4) / 100)
baskalan = grup(4) - oku(1) * 100
oku(2) = Int(baskalan / 10)
oku(3) = baskalan - oku(2) * 10
yaziyacevir = yaziyacevir + sayi(oku(1), 1) + sayi(oku(2), 2) + sayi(oku(3), 3) + basamak(4)
End If

If grup(3) > 0 Then
oku(1) = Int(grup(3) / 100)
baskalan = grup(3) - oku(1) * 100
oku(2) = Int(baskalan / 10)
oku(3) = baskalan - oku(2) * 10
yaziyacevir = yaziyacevir + sayi(oku(1), 1) + sayi(oku(2), 2) + sayi(oku(3), 3) + basamak(3)
End If

If grup(2) = 1 Then
yaziyacevir = yaziyacevir + "BÝN"
End If

If grup(2) > 1 Then
oku(1) = Int(grup(2) / 100)
baskalan = grup(2) - oku(1) * 100
oku(2) = Int(baskalan / 10)
oku(3) = baskalan - oku(2) * 10
yaziyacevir = yaziyacevir + sayi(oku(1), 1) + sayi(oku(2), 2) + sayi(oku(3), 3) + basamak(2)
End If

If grup(1) > 0 Then
oku(1) = Int(grup(1) / 100)
baskalan = grup(1) - oku(1) * 100
oku(2) = Int(baskalan / 10)
oku(3) = baskalan - oku(2) * 10
yaziyacevir = yaziyacevir + sayi(oku(1), 1) + sayi(oku(2), 2) + sayi(oku(3), 3) + basamak(1)
End If
yaziyacevir = yaziyacevir + " LÝRA."
If kurus > 0 Then
oku(2) = 0
If Len(kurus) > 1 Then
oku(2) = Int(kurus / 10)
End If
oku(3) = kurus - oku(2) * 10
yaziyacevir = yaziyacevir + sayi(oku(2), 2) + sayi(oku(3), 3) + " KURUÞTUR."
End If
End Function

Zorzibo
23-06-2006, 12:08
Arkadaþlar exeldeki bir hücrede rakamý nasýl yazýya çevireceðimi anlayamadým. Bir baþka hücredeki rakamý yazýya çevirmem lazým. Yardým ederseniz sevinirim.
Teþekkürler...


Özel Arama