.Xlam ile eklenen eklentinin kodlarını bulmak

dellerlim

Altın Üye
Altın Üye
Katılım
25 Şubat 2012
Mesajlar
323
Excel Vers. ve Dili
office 2016 türkçe
Altın Üyelik Bitiş Tarihi
15.03.2027
Linkteki uygulamayı kullanmak istiyorum ancak üzerinde değişiklik de yapmam gerekiyor. Linkteki uygulama .xlam eklentisi ve ancak Excel'den "İşlev Ekle", "Kullanıcı Tanımlı" ile ekleyebiliyorum. Öyle olunca da değişiklik yapamadan olduğu gibi kullanmak zorunda kalıyorum. 1. Sorum: Genel olarak .xlam eklentilerinin yaptığı işlevin geliştirici kısmına kodlarını ekletme imkanımız olur mu?
2. Sorum başlıkla ilgili değil ama içerikle ilgili; Para birimini de seçmek üzere sayıyla yazılan tutarı yazıyla para birimi de eklenerek yazdırabilir miyiz?
 
Katılım
24 Nisan 2005
Mesajlar
3,680
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
EKlenti VBA şifresi ile korunmuş.
Değişiklik yapabilmek için geliştiricisinden şifreyi almanız gerekiyor.
Geliştiricisi geliştirmeye açık görünüyor, talep ettiğiniz takdir de istediğiniz değişiklikleri yapacaktır.

https://officeuzmani.wordpress.com/2014/04/21/excel-icin-rakami-yaziya-cevirme-fonksiyonu


Forumda aşağıdaki kodlar mevcut. Bunu Kişisel Çalışma kitabına kaydedin.
Tüm excel dosyalarında kullanabilirsiniz.


Kullanımı;


=yaziyacevir(D1;" TL ";" Kuruş. ")
=yaziyacevir(D2;" USD ";" Cent. ")



Kod:
Public Function yaziyacevir(Para_Tutar, anabirim, altbirim)
Dim Para_TutarStr As String
Dim ParaBirimi As String, ParaAltBirimi As String

If Para_Tutar = "" Then
yaziyacevir = HücreAdı & " Hücresine bir değer girmelisiniz !..."
Exit Function
End If

If Not IsNumeric(Para_Tutar) Then
yaziyacevir = HücreAdı & " Hücresine girilen değer, sayı değil !..."
Exit Function
End If

ParaStr = Format(Abs(Para_Tutar), "0.00")
ParaBirimi = Left(ParaStr, Len(ParaStr) - 3)
ParaAltBirimi = Right(ParaStr, 2)

yaziyacevir = IIf(Para_Tutar = 0, "Yalnız " & Cevir(ParaBirimi) & anabirim, "") & _
IIf(Para_Tutar <> 0, "Yalnız ", "") & _
IIf(Para_Tutar < 0, "Eksi (-) ", "") & _
IIf(Para_Tutar <> 0, Cevir(ParaBirimi) & anabirim, "") & _
IIf(Val(ParaAltBirimi) <> 0, Cevir(ParaAltBirimi) & altbirim, "")

If ParaBirimi = 0 And ParaAltBirimi > 0 Then
yaziyacevir = "Yalnız " & Cevir(ParaAltBirimi) & altbirim

If Para_Tutar < 0 And ParaAltBirimi > 0 Then
yaziyacevir = "Yalnız Eksi (-) " & Cevir(ParaAltBirimi) & altbirim
End If

End If

End Function

Private Function Cevir(SayiStr As String) As String
Dim Rakam(15)
Dim c(3), Sonuc, e

Birler = Array("", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz")
Onlar = Array("", "on", "yirmi", "otuz", "kırk", "elli", "altmış", "yetmiş", "seksen", "doksan")
Binler = Array("trilyon", "milyar", "milyon", "bin", "")

SayiStr = String(15 - Len(SayiStr), "0") + SayiStr

For I = 1 To 15
Rakam(I) = Val(Mid$(SayiStr, I, 1))
Next I

Sonuc = ""
For I = 0 To 4
c(1) = Rakam(I * 3 + 1)
c(2) = Rakam(I * 3 + 2)
c(3) = Rakam(I * 3 + 3)
If c(1) = 0 Then
e = ""
ElseIf c(1) = 1 Then
e = "yüz"
Else
e = Birler(c(1)) + "yüz"
End If
e = e + Onlar(c(2)) + Birler(c(3))
If e <> "" Then e = e + Binler(I)
If (I = 3) And (e = "birbin") Then e = "bin"
Sonuc = Sonuc + e
Next I

If Sonuc = "" Then Sonuc = "Sıfır"

Cevir = UCase(Mid(Sonuc, 1, 1)) + Mid(Sonuc, 2, Len(Sonuc) - 1)
End Function
 
Son düzenleme:

dellerlim

Altın Üye
Altın Üye
Katılım
25 Şubat 2012
Mesajlar
323
Excel Vers. ve Dili
office 2016 türkçe
Altın Üyelik Bitiş Tarihi
15.03.2027
Teşekkür ederim Asri Bey ancak bu satırlar kırmızı çıkıyor.
Kod:
IIf(Para_Tutar <> 0, "Yalnız ", "") &"
IIf(Para_Tutar < 0, "Eksi (-) ", "") &"
IIf(Para_Tutar <> 0, Cevir(ParaBirimi) & " TL ", "") &"
IIf(Val(ParaAltBirimi) <> 0, Cevir(ParaAltBirimi) & " Kuruş.", "")
 
Katılım
24 Nisan 2005
Mesajlar
3,680
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Teşekkür ederim Asri Bey ancak bu satırlar kırmızı çıkıyor.
Kod:
IIf(Para_Tutar <> 0, "Yalnız ", "") &"
IIf(Para_Tutar < 0, "Eksi (-) ", "") &"
IIf(Para_Tutar <> 0, Cevir(ParaBirimi) & " TL ", "") &"
IIf(Val(ParaAltBirimi) <> 0, Cevir(ParaAltBirimi) & " Kuruş.", "")

Kod güncellendi. Tekrar deneyiniz.
 

dellerlim

Altın Üye
Altın Üye
Katılım
25 Şubat 2012
Mesajlar
323
Excel Vers. ve Dili
office 2016 türkçe
Altın Üyelik Bitiş Tarihi
15.03.2027
Tekrar teşekkür ederim, bu haliyle çalışıyor ancak para birimi her zaman TL olmuyor ve xlam eklentisini istememin sebebi de buydu. Sizin yazdığınız kodlara da ufak bir eklenti yapılabilirse xlam eklentisine gerek kalmayacak. Para birimini ve alt para birimini de değişken olarak tanımlayabilsek ve bu değişkenleri hücreler olarak seçebilsek çok iyi olurdu. YAZIYACEVİR(A1;C20;C21) şeklinde yazılacak formül;
A1'de Tutar
C20'de Para Birimi
C21'de Alt Para Birimi olacak.
 
Katılım
24 Nisan 2005
Mesajlar
3,680
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Tekrar teşekkür ederim, bu haliyle çalışıyor ancak para birimi her zaman TL olmuyor ve xlam eklentisini istememin sebebi de buydu. Sizin yazdığınız kodlara da ufak bir eklenti yapılabilirse xlam eklentisine gerek kalmayacak. Para birimini ve alt para birimini de değişken olarak tanımlayabilsek ve bu değişkenleri hücreler olarak seçebilsek çok iyi olurdu. YAZIYACEVİR(A1;C20;C21) şeklinde yazılacak formül;
A1'de Tutar
C20'de Para Birimi
C21'de Alt Para Birimi olacak.

Kod güncellendi.
Kontrol ediniz.
 

dellerlim

Altın Üye
Altın Üye
Katılım
25 Şubat 2012
Mesajlar
323
Excel Vers. ve Dili
office 2016 türkçe
Altın Üyelik Bitiş Tarihi
15.03.2027
Elleriniz dert görmesin, bu kadar hızlı çözümü parayla alamayız, excel.web.tr'ye ve size tekrar teşekkür ederim.
 
Üst