• DİKKAT

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

Türkçe karakter

manisali61

Banned
Katılım
8 Mart 2010
Mesajlar
176
Excel Vers. ve Dili
Excel2003
Arkadaşlar merhaba..
Bu sitede üstadlardan aldığım rakamları metne çevirme (TL_YAZ(HÜCRE ADI)) programını başka bir arkadaşımın bilgisayarına kurdum..Çalıştı,fakat sadece büyük (İ) ve (Ş) harfleri tanımsız çıkıyor...Bilgisayarın kurulumundan kaynaklanan (İngilizce karakter tanımlı olduğunu sanıyorum) problemlerden olduğunu tahmin ettiğim bu sorunu nasıl halledebilirim? (Kod yazımında karakter normal görünümünde (yani (İ) ve (Ş) görünümünde)
yardımlarınız için şimdiden teşekkürler..
 
Selamlar,

Kullandığınız kodu buraya eklerseniz inceleme fırsatımız olabilir.
 
Hocam günaydın..
Yanıtınızı şimdi okudum..Kodu ekliyorum.Tekrar ekliyorum.Bu kodlar enim pcde kusursuz çalışıyr,arkadaşın pcye aktardım mı İ ve Ş tanımsız karekter şeklinde çıkıyor.Diğer bütün seslilerde (Ü,Ö gibi) sorun yok

Function tl_yaz(sayi)
On Error Resume Next
Dim deg(3), s(3), deger(2)
a = Array("", "BİR", "İKİ", "ÜÇ", "DÖRT", "BEŞ", "ALTI", "YEDİ", "SEKİZ", "DOKUZ")
b = Array("", "ON", "YİRMİ", "OTUZ", "KIRK", "ELLİ", "ALTMIŞ", "YETMİŞ", "SEKSEN", "DOKSAN")
c = Array("", "", "BİN", "MİLYON", "MİLYAR", "TRİLYON")
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", "BİRYÜ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) = "BİRBİN" Then son = Replace(son, "BİRBİN", "BİN")
For f = 1 To 3
deg(f) = ""
s(f) = ""
Next: Next
If g = 1 And deger(1) <> 0 Then tl = son & " TL"
If g = 2 And deger(2) <> 0 Then kr = " " & son & " KR"
son = ""
e = 0
Next
tl_yaz = tl & kr
End Function
 
Selamlar,

Peki İ-Ş harfleri arkadaşınızın bilgisayarında nasıl çıkıyor.
 
Türkçe karakterler

Korhan hocam tekrar merhaba

Karakterlerin tam karşılıklarını bulamadım..Kendi becerimle excelde çizmeye çalıştım

Büyük İ harfi tam öyle ama Ş harfinin yuvarlağı biraz daha yaygın. Bizim türkçedeki büyük P harfinin yuvarlak kısmını ortada düşünün,öyle bir karakter çıkıyor..
 

Ekli dosyalar

Selamlar,

Bu durumun oluşması için bölgesel ayarlardaki sayısal dilin İngilizce olarak ayarlanmış olması gerekir.

BAŞLAT-AYARLAR-DENETİM MASASI-BÖLGESEL AYARLARDAN varsayılan ayarlarınızı kontrol edin. Eğer İngilizce ise Türkçe olarak ayarlayın.
 
Hocam çıldırmak işten değil yaaaa...Ayarlara baktım hepsi Türkçe..Şaşırdım kaldım..
 
Merhaba,

Aklıma birde font geliyor, başka bir font kullanın, öyle deneyin.
 
Necdet Hocam..Kodlarda hiçbir sorun yok..Hepsinde İ ve Ş harfleri normal olarak görünüyor.. Kodları çalşıtırdığımızda (örneğin BEŞYÜZELLİBEŞ sonucunu metne çevirecek) işte o zaman İ ve Ş harfleri acayip şekillerde çıkıyor..Şu an arkadaşamın bilgisayarında sorun olduğu için açılmıyor,açıldığında sizin dediğinize de bakacağım.
 
Selamlar,

Alternatifleri çoğaltalım. Çözüm olacağını düşünmesemde denemekte fayda var.

Bu formülle deneme yapınız.
Kod:
=YERİNEKOY(YERİNEKOY(TL_YAZ(E1);KOD(165);"Ş");KOD(63);"İ")

Eğer yine çözüm gerçekleşmiyorsa;

1- Fonksiyondaki İ ve Ş harfi yerine I ve S harflerini kullanmayı düşünebilirsiniz.
2- Arkadaşınızın bilgisayarına format atıp türkçe kurulum yapıp çözüm arayabilirsiniz. (Son çare)
 
Ben fonttan sözetmiştim sanırım anlaşılmadım :)
 
merhaba
Korhan Hocamın söylediği 1 maddedeki Fonksiyondaki harfleri değiştirmeyi sizin adına ben yaptım. bütün noktalı harfları değiştirdim.
Kod:
Function tl_yaz(sayi)
On Error Resume Next
Dim deg(3), s(3), deger(2)
a = Array("", "BIR", "IKI", "UC", "DORT", "BES", "ALTI", "YEDI", "SEKIZ", "DOKUZ")
b = Array("", "ON", "YIRMI", "OTUZ", "KIRK", "ELLI", "ALTMIS", "YETMIS", "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)) & "YUZ", "BIRYUZ", "YUZ")
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 & " TL"
If g = 2 And deger(2) <> 0 Then kr = " " & son & " KR"
son = ""
e = 0
Next
tl_yaz = tl & kr
End Function
denenmiştir.
 
Geri
Üst