• DİKKAT

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

vb hakkında

Katılım
31 Ocak 2006
Mesajlar
1
aşağıdaki kodu vb ye yazıyorum. exel ilk işlemde sorunsuz istediğimi yapıyor. ancak exek dosyasını kapatıp açtığımda AD hatası veriyor. sizden ricam bu işlemi nasıl yapacağımı detaylı bir şekilde anlatmanız.. teşekkür ederim....

Sub YTL()

End Sub
Function TLira(sayi, Optional tür As Byte = 0)
'Rakamı yeni türk lirası türünden belirt
'
'Makro S Şahin tarafından kaydedildi
'Stil =0 TL ve Kr
' 1 Yalnız TL
' 2 Tam sayı ise yalnız TL
Dim tam
Dim küsur As Byte
Dim syazi As String

If IsNumeric(sayi) And Len(Format(sayi)) < 16 Then
sayi = Int(sayi * 100) / 100
If sayi < 0 Then
syazi = "Eksi "
sayi = Abs(sayi)
End If
tam = Int(sayi)
küsur = (sayi - tam) * 100
syazi = syazi & yçevir(tam) & " TL "
If tür = 0 Or (tür = 2 And küsur <> 0) Then
syazi = syazi & yçevir(küsur) & " Kr"
End If
Else
syazi = "Hata"
End If
TLira = syazi
End Function

Function yçevir(csayi)
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 sayi As String
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 ")

sayi = Format(csayi)
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
 
ben denedim hata vermedi, sayıyı yazıya çevirmek için bu fonksiyonu modul içine kopyalayın sonra da excell sayfanıza örnek;

a1 hücresiye rakamınızı yazınız, b1 hücresinede
Kod:
=yçevir(A1)
fonksiyonununu yazarsanız, a1 hücresindeki rakamınızı yazıya çevirmiş olur
 
Merhaba,
Açılışta hata yok ancak 1234 yazınca birinci rakam 1 olursa birbin diye başlıyor.
 
bende herhangi bir hata çıkmıyor, herşey normal, sizde neden o şekilde çıkıyor yardımcı olamıcam malesef
 
Geri
Üst