Sayıyı Yazıya Çevirme Tartışma Sayfası

cemal akın
07.02.2020 11.12

excel üzerinden tatbikatı nasıl olacaktır.

Zekeriya
31.08.2020 23.45

Exceli açıp Alt+11 basıp Sayfa1 üzerinde iken farenin sağı düğmesine basıp modül ekliyoruz ve alttaki fonksiyonu yapıştırıyoruz. Sonra fonsiyonu kullanabilmek için A1 hücresine bir sayı, yazı ile görüntülencek hücreye

=SayınınOkunuşu1(A1)
yazıp enter'e basıyoruz.

Function SayınınOkunuşu1(Optional sayı As String = "0") As String
Dim kontrol As Boolean
kontrol = FALSE
sayı = Replace(sayı, ".", "")
If Len(sayı) < 103 Then
For i = 1 To Len(sayı)
If IsNumeric(Mid(sayı, i, 1)) = FALSE Then
kontrol = TRUE
Exit For
End If
Next i
If kontrol = FALSE Then
sayı = Trim(sayı)
Select Case Len(sayı) Mod 3
Case 1: sayı = "00" & sayı
Case 2: sayı = "0" & sayı
End Select
Dim birler(10) As String
birler(0) = ""
birler(1) = "Bir"
birler(2) = "İki"
birler(3) = "Üç"
birler(4) = "Dört"
birler(5) = "Beş"
birler(6) = "Altı"
birler(7) = "Yedi"
birler(8) = "Sekiz"
birler(9) = "Dokuz"
Dim onlar(10) As String
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"
Dim basamak(34) As String
basamak(0) = ""
basamak(1) = "Bin"
basamak(2) = "Milyon"
basamak(3) = "Milyar"
basamak(4) = "Trilyon"
basamak(5) = "Katrilyon"
basamak(6) = "Kentilyon"
basamak(7) = "Seksilyon"
basamak(8) = "Septilyon"
basamak(9) = "Oktilyon"
basamak(10) = "Nonilyon"
basamak(11) = "Desilyon"
basamak(12) = "Undesilyon"
basamak(13) = "Dodesilyon"
basamak(14) = "Tredesilyon"
basamak(15) = "Kattuordesilyon"
basamak(16) = "Kendesilyon"
basamak(17) = "Sexdesilyon"
basamak(18) = "Septendesilyon"
basamak(19) = "Oktodesilyon"
basamak(20) = "Novemdesilyon"
basamak(21) = "Vigintilyon"
basamak(22) = "Unvigintilyon"
basamak(23) = "Dovigintilyon"
basamak(24) = "Trevigintilyon"
basamak(25) = "Kattuorvigintilyon"
basamak(26) = "Kenvigintilyon"
basamak(27) = "Sexvigintilyon"
basamak(28) = "Septenvigintilyon"
basamak(29) = "Oktovigintilyon"
basamak(30) = "Novemvigintilyon"
basamak(31) = "Trigintilyon"
basamak(32) = "Untrigintilyon"
basamak(33) = "Dotrigintilyon"
Dim hane(3) As String
basamakindeks = (Len(sayı) / 3) - 1
For i = 1 To Len(sayı) Step 3
hane(1) = Mid(sayı, i, 1) 'Yüzler
hane(2) = Mid(sayı, i + 1, 1) 'Onlar
hane(3) = Mid(sayı, i + 2, 1) 'Birler
If hane(1) = "0" Then
temp = ""
Else
If hane(1) = "1" Then
temp = "Yüz "
Else
temp = birler(hane(1)) & " Yüz "
End If
End If
temp = temp & Trim(onlar(hane(2)) & " " & birler(hane(3)))
If temp <> "" Then
temp = temp & " " & basamak(basamakindeks) & " "
End If
basamakindeks = basamakindeks - 1
If Trim(temp) = "Bir Bin" Then
temp = "Bin "
End If
If temp <> "" Then
sonuc = sonuc & temp
End If
Next i
sonuc = Trim(sonuc)
If sonuc = "" Then
sonuc = "Sıfır"
End If
SayınınOkunuşu1 = sonuc
Else
SayınınOkunuşu1 = "İfade Sayı değil."
End If
Else
SayınınOkunuşu1 = "Sayı uzunluğu maksimum 102 rakam olmalıdır."
End If
End Function

© Burada yayınlanan metinler kaynağı ve lisansı bildirilenler hariç hesabet.com'a ait özgün metinlerdir. Herhangi bir yerden alıntı değildir. Bu metinler derslerde kaynak olarak kullanılabilir ancak başka bir web sitesi, görsel veya yazılı ortamda yayınlanamaz.