• DİKKAT

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

Rakamı Çevirme

Katılım
23 Ağustos 2005
Mesajlar
26
Excel Vers. ve Dili
Excel 2003
Türkçe
Merhaba,

rakkam ile yazdığım bir sayıyı formül ile yazı ile yazma şansım varmıdır. Ekli dosyadaki gibi. Şimdiden çok teşekkürler.

emre
 
Option Explicit
Function YAZ(sayi As Currency, Optional tür As Byte = 0)

Dim tam$
Dim küsur$
Dim syazi As String
Dim v As Byte, s$

If IsNumeric(sayi) And Len(Format(Int(sayi))) < 16 Then
If sayi < 0 Then
syazi = "Eksi "
sayi = Abs(sayi)
End If
s = Format(sayi)
v = InStr(s, ",")
'If v = 0 Then v = InStr(s, ".")
If v <> 0 Then
tam = Left(s, v - 1)
küsur = Left(Mid(s, v + 1, 2) & "0", 2)
Else
tam = s
küsur = "0"
End If
syazi = syazi & yçevir(tam) & " YTL "
If tür = 0 Or (tür = 2 And küsur <> 0) Then
syazi = syazi & yçevir(küsur) & " YKr"
End If
Else
syazi = "Hata"
End If
YAZ = syazi
End Function

Function yçevir(sayi As String)
Dim birler, onlar, bsayi
Dim rakamlar(1 To 15) As Byte
Dim yazi As String, syazi As String
Dim uz As Byte
Dim m
Dim bs As Byte
Dim art As Byte
Dim rakam As Byte

birler = Array("", "Bir", "İki", "Üç", "Dört", "Beş", "Altı", "Yedi", "Sekiz", "Dokuz")
onlar = Array("", "On", "Yirmi", "Otuz", "Kırk", "Elli", "Altmış", "Yetmiş", "Seksen", "Doksan")
bsayi = Array("", "Bin ", "Milyon ", "Milyar ", "Trilyon ")

uz = Len(sayi)
For m = uz To 1 Step -1
art = art + 1
rakamlar(art) = Val(Mid(sayi, m, 1))
Next
For bs = 1 To uz
art = bs Mod 3
rakam = rakamlar(bs)
yazi = ""
Select Case art
Case 1
yazi = birler(rakam) & bsayi(Int(bs / 3))
If uz = 4 And yazi = "BirBin " Then yazi = "Bin "
Case 2
yazi = onlar(rakam)
Case 0
If rakam = 0 Then
yazi = ""
ElseIf rakam = 1 Then
yazi = "Yüz"
Else
yazi = birler(rakam) & "Yüz"
End If
End Select
syazi = yazi & syazi
Next
If syazi = "" Then
syazi = "Sıfır"
Else
syazi = Replace(syazi, " Bin ", "")
syazi = Replace(syazi, " Milyar ", "")
syazi = Replace(syazi, " Milyon ", "")
End If
yçevir = syazi
End Function






bu kodları bir modül içerisine yerleştirin.

yeni bir fonksiyon oluşacak.
fonksiyon kullanımı şöyle

=YAZ(buraya yazıya çevrilmek istenen rakamın adresini yazacaksınız A1 gibi.)
=YAZ(A1) gibi.
 
teşekkür

sayın ybilgin,

verdiğiniz bilgi için teşekkür ederim


emre
 
Valla aynı şey banada lazım oldu.Excel'i çok iyi bildiğim söylenemez ama denilenleri yaptım.YAZ fonksiyonu da çıktı ama yazıya çeviremedim.
Bana tam olarak;
Diyelim iki yada daha fazla sayıyı toplayıp sonuç hücresine sonucu yazıyla yazan bir fonk lazım.Çeklerde olduğu gibi.Az vaktim var malum ödev.Yardımcı olursanız sevinirim
 
bu kodlar&#305; bir mod&#252;l i&#231;erisine yerle&#351;tirin.

yeni bir fonksiyon olu&#351;acak.
fonksiyon kullan&#305;m&#305; &#351;&#246;yle

=YAZ(buraya yaz&#305;ya &#231;evrilmek istenen rakam&#305;n adresini yazacaks&#305;n&#305;z A1 gibi.)
=YAZ(A1) gibi.


Buraya kadar anlay&#305;p yapt&#305; iseniz,( A1 + B1 = C1 ) i&#351;lemi i&#231;in D1 h&#252;&#231;resine =yaz(C1) &#351;eklinde

Veya C1 h&#252;cresine =yaz(A1+B1) &#350;eklinde uygulay&#305;n&#305;z.


Sadece not almak i&#231;inse bu yeter. &#214;&#287;renmek istiyorum diyorsan Sn leventm vermi&#351; oldu&#287;u adresi iyice inceleyin. Adresi &#246;nceden g&#246;rm&#252;&#351; olsa idim bu cevab&#305; g&#246;ndermezdim.
 
Son düzenleme:
Teşekkürler sayın ybilgin. Okullarda 5 lik not sisteminden 100 lük puanlama sistemine geçilince puanları yazıyla yazdırmada işimize yaradı. Emeği geçenlere saygılar sevgiler.
 
Geri
Üst