Vba da Rakamları Yazıya Çevirme

BYSERTTAS

Altın Üye
Katılım
9 Ekim 2012
Mesajlar
136
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
06-01-2025
Selamlar..
Vba Da hazırladığım Fatura Programı için tutarı yazı ile Nasıl yazdırabilirim. bununla ilgili Foksiyon yada bir kod varmıdır. yardımcı olursanız sevinirim.
Bu arada vba bilgi kısıtlı youtube videolarından birşeyler yapmaya çalıştım. sadece rakamı yazıya çevirme kaldı nasıl yapacağımı bilemedim. isteğim
örneğin texbox1 de rakam var textbox 2 ye yazı ile yazdırmak istiyorum. şimdiden teşekkürler
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,867
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Modül içerisine aşağıdaki kodları yapıştırın. Sonra yazdığınız rakam Diyelim ki A1 hücresinde , Siz A2 veya istediğiniz hücreye
=tl_yaz("A1") olarak girin sonucu görün.
Kodlar Siteden Alıntıdır.

Kod:
Function tl_yaz(sayi)
On Error Resume Next
Dim deg(3), s(3), deger(2)
A = Array("", "Bir", "İki", "Üç", "Dört", "Beş", "Altı", "Yedi", "Sekiz", "Dokuz")
b = Array("", "On", "Yirmi", "Otuz", "Kırk", "Elli", "Altmış", "Yetmiş", "Seksen", "Doksan")
c = Array("", "", "Bin", "Milyon", "Milyar", "Trilyon")
deger(1) = Int(sayi)
deger(2) = Round(sayi - deger(1), 2) * 100
If sayi = 0 Then son = "sıfır"
For g = 1 To 2
yazi = deger(g)
For d = 1 To Len(yazi) Step 3
e = e + 1
deg(1) = Mid(yazi, Len(yazi) - d - 1, 1)
deg(2) = Mid(yazi, Len(yazi) - d, 1)
deg(3) = Mid(yazi, Len(yazi) - d + 1, 1)
If deg(1) <> 0 Then s(1) = Replace(A(deg(1)) & "Yüz", "BirYüz", "Yüz")
s(2) = b(deg(2))
s(3) = A(deg(3)) & c(e)
If deg(1) + deg(2) + deg(3) = 0 Then s(3) = ""
son = s(1) & s(2) & s(3) & son
If Left(son, 6) = "BirBin" Then son = Replace(son, "BirBin", "Bin")
For f = 1 To 3
deg(f) = ""
s(f) = ""
Next: Next
If g = 1 And deger(1) <> 0 Then tl = son & " TürkLirası"
If g = 2 And deger(2) <> 0 Then kr = " " & son & " Kuruş"
son = ""
e = 0
Next
tl_yaz = tl & kr
End Function
 
Üst