UYARI :
2009 Yılında örnek olması açısından böyle bir kod yayınlasak da, daha sonra çok daha iş gören çözümler üretildiğine şahit olduk.
Konuyla ilgilenenlere ve bu konuda çözüme ihtiyaç duyanlara, linkteki paylaşımı tavsiye edebiliriz. Aşağıda bizim sunduğumuz örnek ise, ne - nasıl oluyor sorusuna cevap vermesi açısından bir örnek olarak incelenebilir.
Tavsiye ettiğimiz çözüm linki için tıklayınız
--------------------------------
Excel kullananlar bilirler, sayılar, formüller derken bir de bakmışsınız düz metinleri bile artık excelde yazıyorsunuz. Aşağıdaki makroyu kullanarak bir hücredeki sayıyı metne çevirebilirsiniz.
Yapmanız gerekenler;
Microsoft Excel’i açın, Araçlar>Makro>Visual Basic Düzenleyicisi (Kısayol: Alt+F11)Insert>Module tıklayın. Açılan boş sayfaya aşağıdaki kodu yapıştırın. Kaydedip Excel’e geri dönün.Deneme için A1 hücresine bir sayı yazın B1 hücresine geçip şu formülü yazın =yaz(A1) Yazdığınız rakamlar metne dönüşecektir. Burada kullanacağımız işlem terimi =yaz(hücre_adı) olacaktır.
Dim b$(9)
Dim y$(9)
Dim m$(4)
Dim v(15)
Dim c(3)
Function yaz$(sayi)
b$(0) = ""
b$(1) = "bir"
b$(2) = "iki"
b$(3) = "üç"
b$(4) = "dört"
b$(5) = "beş"
b$(6) = "altı"
b$(7) = "yedi"
b$(8) = "sekiz"
b$(9) = "dokuz"
y$(0) = ""
y$(1) = "on"
y$(2) = "yirmi"
y$(3) = "otuz"
y$(4) = "kırk"
y$(5) = "elli"
y$(6) = "altmış"
y$(7) = "yetmiş"
y$(8) = "seksen"
y$(9) = "doksan"
m$(0) = "trilyon"
m$(1) = "milyar"
m$(2) = "milyon"
m$(3) = "bin"
m$(4) = ""
a$ = Str(sayi)
If Left$(a$, 1) = " " Then pozitif = 1 Else pozitif = 0
a$ = Right$(a$, Len(a$) - 1)
For x = 1 To Len(a$)
If (Asc(Mid$(a$, x, 1)) > Asc("9")) Or (Asc(Mid$(a$, x, 1)) < Asc("0")) Then GoTo hata
Next x
If Len(a$) > 15 Then GoTo hata
a$ = String(15 - Len(a$), "0") + a$
For x = 1 To 15
v(x) = Val(Mid$(a$, x, 1))
Next x
s$ = ""
For x = 0 To 4
c(1) = v((x * 3) + 1)
c(2) = v((x * 3) + 2)
c(3) = v((x * 3) + 3)
If c(1) = 0 Then
e$ = ""
ElseIf c(1) = 1 Then
e$ = "yüz"
Else
e$ = b$(c(1)) + "yüz"
End If
e$ = e$ + y$(c(2)) + b$(c(3))
If e$ <> "" Then e$ = e$ + m$(x)
If (x = 3) And (e$ = "birbin") Then e$ = "bin"
s$ = s$ + e$
Next x
If s$ = "" Then s$ = "sıfır"
If pozitif = 0 Then s$ = "Eksi" + s$
yaz$ = s$
GoTo tamam
hata: yaz$ = "Hata"
tamam:
End Function
mikro efatura, mikro e-fatura, mikro edefter, mikro e-defter, Mikro Bayi, Mikro Bayii, Mikro v15, Mikro 15, Mikro Destek, mikro yazılım, mikro yazılım bayi, mikro yetkili satıcı, mikro bayileri, mikro programı, mikro yazılım, mikro yardım