bende excel arıyorum...3 gündür formu inceliyom bi türlü beceremedim... makroyu kaydediyorum.. ancak yazılmasını istediğim hücreye makronun adını mı yazcam yoksa başka bişiy mi bi türlü çözemedim... lütfen yardımcı olurmusunuz??? çok basit bi şekilde anlatın lütfen.. kafam sulandı çünkü... :kafa: :kafa: :kafa: :kafa: :kafa: :kafa: :kafa: :kafa: :kafa:
arkadaşlar yazıyı rakama çeviren bir formul var ben bunu visial basic de sürekli kullanırdım accessdede başarılı .Ben bunu raporlarda toplam kayıt sayısını yazıyla yazdırmak için kullanıyordum .artık siz kullanacağınız yere göre gerekli değişiklikleri yaparsınız ,bunun için ilk önce yaptığınız projede yeni bir modul açın ve adını da " yaziylarakam " olarak değiştirin ve aşşağıdaki kodu içerisine kopyalayın.......
Function YAZILINUMARA(gelendeger As Double) As String
Dim V_INT As Double
Dim V_SAYI_YAZI_ILE As String
Dim V_TOPLAM_YAZI_ILE As String
Dim V_SAYI As Double
Dim V_SAYI1 As Double
Dim V_SAYI2 As Double
V_SAYI = 0
V_SAYI1 = 0
V_SAYI2 = 0
V_SAYI = gelendeger Mod 10
If V_SAYI = 1 Then
V_SAYI_YAZI_ILE = "BİR"
ElseIf V_SAYI = 2 Then
V_SAYI_YAZI_ILE = "İKİ"
ElseIf V_SAYI = 3 Then
V_SAYI_YAZI_ILE = "ÜÇ"
ElseIf V_SAYI = 4 Then
V_SAYI_YAZI_ILE = "DÃ?RT"
ElseIf V_SAYI = 5 Then
V_SAYI_YAZI_ILE = "BEÃ"
ElseIf V_SAYI = 6 Then
V_SAYI_YAZI_ILE = "ALTI"
ElseIf V_SAYI = 7 Then
V_SAYI_YAZI_ILE = "YEDİ"
ElseIf V_SAYI = 8 Then
V_SAYI_YAZI_ILE = "SEKİZ"
ElseIf V_SAYI = 9 Then
V_SAYI_YAZI_ILE = "DOKUZ"
Else
V_SAYI_YAZI_ILE = ""
End If
V_TOPLAM_YAZI_ILE = V_SAYI_YAZI_ILE + V_TOPLAM_YAZI_ILE
V_SAYI1 = gelendeger - V_SAYI
If gelendeger >= 10 Then
V_SAYI1 = V_SAYI1 Mod 100
If V_SAYI1 = 10 Then
V_SAYI_YAZI_ILE = "ON"
ElseIf V_SAYI1 = 20 Then
V_SAYI_YAZI_ILE = "YİRMİ"
ElseIf V_SAYI1 = 30 Then
V_SAYI_YAZI_ILE = "OTUZ"
ElseIf V_SAYI1 = 40 Then
V_SAYI_YAZI_ILE = "KIRK"
ElseIf V_SAYI1 = 50 Then
V_SAYI_YAZI_ILE = "ELLİ"
ElseIf V_SAYI1 = 60 Then
V_SAYI_YAZI_ILE = "ALTMIÃ"
ElseIf V_SAYI1 = 70 Then
V_SAYI_YAZI_ILE = "YETMİÃ"
ElseIf V_SAYI1 = 80 Then
V_SAYI_YAZI_ILE = "SEKSEN"
ElseIf V_SAYI1 = 90 Then
V_SAYI_YAZI_ILE = "DOKSAN"
Else
V_SAYI_YAZI_ILE = ""
End If
End If
If gelendeger = 0 Then
V_TOPLAM_YAZI_ILE = "SIFIR"
End If
YAZILINUMARA = V_TOPLAM_YAZI_ILE
End Function
daha sonra da kullanacağınız raporda, ben kullanılan malzemenin kaç kalem olduğunu göstermek için kullanıyordum ve raporun ayrıntı bölümüne kayıtların başına bir boş metin kutusu açıp adına da SNO adı verir ve altada rapor altbilgisi bölümüne de yeni bir text kutusu açıp bu kutunun denetim kaynağınada
="////////////////// YALNIZ " & YAZILINUMARA([SNO]) & " (" & [SNO] & ") KALEMDİR. //////////////////"
yazdığınızda rapordaki malzemenin kaç kalem olduğunu rapor altında verir siz burada yukarıdaki SNO adını verdiğimiz rakam kutusunu aşağıda ki kutu içinde isim değişikliğiyle istediğiniz gibi kullanabilirsiniz,inşallah işinizi görür kolay gelsin :icelim:
Arkadaş lar yukarıdaki kod iyi çalışıyor ama eksik tarafı 999 dan sonrasını çevirmiyor aynı mantıkla ilave yaptım 1000 li ama hata verdi eğer ilgilenen arkadaş varsa milyarlara kadar uzatmak acaba mümkün mü? bir de şayet lira olarak rakamı yazıya çevirecek olsak virgülden sonrasını acaba nasıl düzenleriz.
Sayın Raider'in yazdığı ve Sayın Jale'nin access için verdiği örneği niye kullanmıyorsunuz.
Buradaki "yaz" fonksiyonu sizin aradığınız.
Rakammetin.zip dosyasındaki raiderv2 modülünü kopyalayın.
Bir textboxa =yaz([alanadı]) şeklinde yazarak kullanın.
Hepsi aşağıdaki linkte:
' Küçük harflerle yazması için
If kucuk = 1 Then
For x = 0 To 9
For y = 1 To 3
sayi(x, y) = Replace(sayi(x, y), "ı", "I")
sayi(x, y) = Replace(sayi(x, y), "i", "İ")
sayi(x, y) = UCase(sayi(x, y))
Next
Next
For y = 2 To 5
basamak = Replace(basamak, "ı", "I")
basamak = Replace(basamak, "i", "İ")
basamak = UCase(basamak)
Next
End If
kurus = Round(rakam - lira, 2) * 100
If Len(lira) > 15 Then
MsgBox ("Bu fonksiyon en fazla 15 haneli sayılar için çalışır.")
End
End If
kalan = lira
yaziyacevir = ""
For x = 1 To 5
A = 15 - 3 * x
If Len(lira) > A Then
grup(6 - x) = Int(kalan / 10 ^ A)
kalan = kalan - (grup(6 - x) * 10 ^ A)
End If
Arkadaşlar exeldeki bir hücrede rakamı nasıl yazıya çevireceğimi anlayamadım. Bir başka hücredeki rakamı yazıya çevirmem lazım. Yardım ederseniz sevinirim.
Teşekkürler...
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.