İşyerlerinde en çok kullanılan Office bileşeni Excel dir , bütün hesaplamalarımızı yapmakla kalmaz elle aylarca sürecek bazı tekrarlı işlemleri bir tıkla yapma kolaylığıda sunar , genelde bunlara Macro lar denir
1. Excel varsayılan olarak bize Geliştirici araçları sunmadığı için ilk işlem olarak bu sekmeyi görünür yapmamı8z gerekmektedir , bunun için : Dosya - Seçenekler deyip şeridi ömzelleştir kısmına tıklayalım (Aşağıdaki resim)
2. Artık excelde Geliştirici diye bir sekme belirdi buna seçelim ve Makrolar kısmına tıklayalım (2)
3. Karşımıza gelen Makro penceresinde Makro adı kısmına bir sisim yazalım (1) ve "Oluştur" Butonuna tıklayalım (2)
4. Kitab 1 ismindeki modülde yeralan kodları seçip komple silelim ve sayfa sonundan indireceğiniz dosyadaki kodları buraya yapıştırıp kaydet ikonuna tıklayalım
Kayıt türünü "Macro içerebilen Excel Çalışma kitabı" seçelim ve Macro ekranını kapatıp ana excel Kitabımıza dönelim burada yeralan rakamlardan harfe (yazıya) döndürmek istediklerimizin yanına =yaz(Hücre) formülünü uygularsak rakamlar anında harfe (Yazıya) dönecektir
Bu oldukça kullanışlı Makroyu aşağıdaki linkten indirip kopyalayıp kullanabilirsiniz , makro 2006 yıllarından yabancı bir excel sitesinde yayımlanmıştı tabii orada tükçe rakamlar yerine ingilizce one , two ... diye yazıyordu
Sende sağolasın
Teşekkürler. Çok faydalı oldu.
Cümlemizden inşallah
HAY ALLAH SİZDEN RAZI OLSUN
Teşekürler Betül
Rakamın başına # yapamadım ama yazının başına ve sonuna # işareti olması için kod:
Function tl_yaz(sayi)
On Error Resume Next
Dim deg(3), s(3), deger(2)
a = Array("", "Bir", "İki", "Üç", "Dört", "Beş", "Altı", "Yedi", "Sekiz", "Dokuz")
b = Array("", "On", "Yirmi", "Otuz", "Kırk", "Elli", "Altmış", "Yetmiş", "Seksen", "Doksan")
c = Array("", "", "Bin", "Milyon", "Milyar", "Trilyon")
deger(1) = Int(sayi)
deger(2) = Round(sayi - deger(1), 2) * 100
If sayi = 0 Then son = "sıfır"
For g = 1 To 2
yazi = deger(g)
For d = 1 To Len(yazi) Step 3
e = e + 1
deg(1) = Mid(yazi, Len(yazi) - d - 1, 1)
deg(2) = Mid(yazi, Len(yazi) - d, 1)
deg(3) = Mid(yazi, Len(yazi) - d + 1, 1)
If deg(1) 0 Then s(1) = Replace(a(deg(1)) & "Yüz", "BirYüz", "Yüz")
s(2) = b(deg(2))
s(3) = a(deg(3)) & c(e)
If deg(1) + deg(2) + deg(3) = 0 Then s(3) = "#"
son = s(1) & s(2) & s(3) & son
If Left(son, 6) = "BirBin" Then son = Replace(son, "BirBin", "Bin")
For f = 1 To 3
deg(f) = " "
s(f) = "#"
Next: Next
If g = 1 And deger(1) 0 Then TL = son
If g = 2 And deger(2) 0 Then kr = " " & son
son = "#"
e = 0
Next
tl_yaz = TL & kr
End Function
Merhaba,
yazıların başına ve sonuna daha sonra değişlik yapılmaması için # işaretini nasıl ilave edebiliriz. Örneğin #150.000,00# #YüzEllibin#
Kod kısmına;
Function tl_yaz(sayi)
On Error Resume Next
Dim deg(3), s(3), deger(2)
a = Array("", "Bir", "İki", "Üç", "Dört", "Beş", "Altı", "Yedi", "Sekiz", "Dokuz")
b = Array("", "On", "Yirmi", "Otuz", "Kırk", "Elli", "Altmış", "Yetmiş", "Seksen", "Doksan")
c = Array("", "", "Bin", "Milyon", "Milyar", "Trilyon")
deger(1) = Int(sayi)
deger(2) = Round(sayi - deger(1), 2) * 100
If sayi = 0 Then son = "sıfır"
For g = 1 To 2
yazi = deger(g)
For d = 1 To Len(yazi) Step 3
e = e + 1
deg(1) = Mid(yazi, Len(yazi) - d - 1, 1)
deg(2) = Mid(yazi, Len(yazi) - d, 1)
deg(3) = Mid(yazi, Len(yazi) - d + 1, 1)
If deg(1) 0 Then s(1) = Replace(a(deg(1)) & "Yüz", "BirYüz", "Yüz")
s(2) = b(deg(2))
s(3) = a(deg(3)) & c(e)
If deg(1) + deg(2) + deg(3) = 0 Then s(3) = ""
son = s(1) & s(2) & s(3) & son
If Left(son, 6) = "BirBin" Then son = Replace(son, "BirBin", "Bin")
For f = 1 To 3
deg(f) = ""
s(f) = ""
Next: Next
If g = 1 And deger(1) 0 Then tl = son & " TürkLirası"
If g = 2 And deger(2) 0 Then kr = " " & son & " Kuruş"
son = ""
e = 0
Next
tl_yaz = tl & kr
End Function
ekledikten sonra pencereyi kapatıyoruz
daha sonra bu kodla TL rakamla yazılı olan hücreyi belirtiyoruz. örnek olarak A1 yazdım, yazıya çevirmek istediğiniz hücre hangisi ise onu seçiniz.
Kod:
=tl_yaz(A1)
2950,50=yaz(sağdan(K30;2))
formülünde 50 kuruş için hata veriyor sanırım "sıfır" formülü bozuyor
çözüm öneriniz varmıdır ?
Uygun çözüm bulursam paylaşırım , selamlar
Merhabalar öncelikle çözümünüz için çok teşekkür ederim ellerinize sağlık çok yardımcı oldunuz fakat benim macroda her hangi bir bilgim maalesef yok sayenizde bu sorunu çözdüm şimdi ben bu macroyu basit bir fatura hesaplamanın meblağını yazıya çevirmek için kullandım fakat 1830.45 kuruşları HATA olarak veriyor yardımınız için şimdiden teşekkürler beyefendi