Arkadaşlar excelde fatura usulü birşeyler yazdıracağım.. yazdığım fatura miktarını aşagıya yazı ile yazacak otomatik olarak. yani 1.250.000 yazdığımda /BİRMİLYONİKİYÜZELLİBİN/ yazacak bir tablo oluşturmak istiyorum mümkünmü acaba?
Aşağıdaki kodları kullanabilirsin.
Eğer acemiyim nasıl yapılır diyorsan.. Excelde fatura ile ilgili işlem yaptığın dosya açıkken ALT+F11 yapıp VBA editörünü açıyorsun Aktif değilse, görünümden proje gezginini seçiyorsun. Daha sonra ekleden modülü seçiyorsun, sol tarafta beyaz bir sayfa açılıyor. Aşağıdaki kodları beyaz sayfaya kopyalayıp. VBA editörü kapatıyorsun.
Daha sonra =yaz() formülünü yazdığın yerde parantez içine yazdığın rakamı yazıya çeviriyor. Örn.. =yaz(555) yada =yaz(A1) ikinci formüldeki A1 hücre adresini gösteriyor. Burada yazıya çevrilmesini istediğin hücrenin adresini yazmalısın. Bu fonksiyonu başka dosyada da kulanmak istersen aynı işlemleri o dosya içinde yapman lazım yada varolan formülü kulanmak istersen fonksiyon ekleme düğmesinden kullanıcı tanımlı fonksiyonları seçip kullanabilrsin. Yada bu kodları personal.xls dosyasının içine kaydedip kullanıcı tanımlı fonksiyon olarak bütün dosyalarında kullanabilirsin.
Eğer Alt+F11 yaptığında personal.xls dosyası proje gezgininde gözükmüyorsa; Excelde Araçlar - Makro Kaydet'e basıp nereye kaydedeyim diye sorarsa kişisel makro kitabını seç ve herhangi bir işlem yapıp(Örn. A1 hücresini seç) makroyu kapat. Personal.xls dosyan hazır. Kodları buraya kopyalayabilirsin..
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
Not: Kodlar bana ait değil.. Büyük ihtimalle kapanmadna önce excel.gen.tr 'den almış olabilirim...
ben yazdım ama #AD? çıkıyor ne bu
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme