Noktalı harfleri noktasız hale getirme

netzone

Altın Üye
Katılım
10 Mayıs 2006
Mesajlar
789
Excel Vers. ve Dili
🅾🅵🅵🅸🅲🅴
⎝365 64 Bit 𝙏𝙍⎠
🆆🅸🅽🅳🅾🆆🆂
⎝10 64 Bit 𝙏𝙍⎠
Altın Üyelik Bitiş Tarihi
12-09-2027
Merhaba,

64 ün ne olduğunu bulamadım :)

1033 > English - United States ifade ediyor. Tüm listeyi ekteki dosyada görebilirsiniz.
 

Ekli dosyalar

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın Ömer Bey, aynı hatayı alıyorum.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın Ömer Bey, mesaj kutusuna Ç, ç harfi yazdığımda aşağıdaki kodu sarıya boyuyor.

ElseIf Cells(Rows.Count, sor).End(3).Row = 1 Then
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,301
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba,

64 ün ne olduğunu bulamadım :)

1033 > English - United States ifade ediyor. Tüm listeyi ekteki dosyada görebilirsiniz.
Ben de zaten bir listeden bulmamıştım ......:cool:

Deneme yaparken buldum.

.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
Evet, çok faydalı bir konu oldu. Elinize sağlık.
Bir kaç ayrıntı da ben ekleyeyim:
vbLowerCase > Tüm harfler küçük
vbProperCase > İlk harfler büyük
vbUpperCase > Tüm harfler büyük
Ve en çok işe yarayacak olan Türkçe karakter kodu: 1055
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Teşekkürler Zayın netzone.
Benim merak ettiğim, DİL değişikliği değil, karakter değişikliğinin nasıl yapıldığı idi, REPLACE benzeri bir İŞLEV kullanılmıyor oluşu.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Sayın ASLAN, bilgisayarı kapattım, Else satırından sonraki sor= ...... satırının yerini değiştirmek veya tekrarlamak gerekiyor.
Cep telefonundan yazıyorum, sonra baksam olur mu?
Belki de başka bir arkadaşımız düzeltir.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Tamam, Sayın Ömer Bey, hayırlı geceler diliyorum.
 

netzone

Altın Üye
Katılım
10 Mayıs 2006
Mesajlar
789
Excel Vers. ve Dili
🅾🅵🅵🅸🅲🅴
⎝365 64 Bit 𝙏𝙍⎠
🆆🅸🅽🅳🅾🆆🆂
⎝10 64 Bit 𝙏𝙍⎠
Altın Üyelik Bitiş Tarihi
12-09-2027
... karakter değişikliğinin nasıl yapıldığı idi, REPLACE benzeri bir İŞLEV kullanılmıyor oluşu.
Ömer Bey, Sanırım sorunuzun cevabı StrConv Fonksiyonunda gizli.

Bu arada, Haluk Bey'in kodları sadece Türkçe karakterleri değil bunun dışında Uzatılmış Latin sınıflarında yer alan Ă, Đ, ĕ, Ņ, Ÿ gibi karakteri de A, ?, E, N, Y olarak çevirdiğini gözlemledim.
 
Son düzenleme:

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,249
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
StrConv fonksiyonu, küçük "i" yi büyük "İ" olarak çeviremiyor sanırım.
Sub Test()
MsgBox StrConv("i", vbUpperCase, 1055)
End Sub
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Çok faydalı bir konu oldu.
Sakin bir zamanda üzerinde durmak lazım.
 

netzone

Altın Üye
Katılım
10 Mayıs 2006
Mesajlar
789
Excel Vers. ve Dili
🅾🅵🅵🅸🅲🅴
⎝365 64 Bit 𝙏𝙍⎠
🆆🅸🅽🅳🅾🆆🆂
⎝10 64 Bit 𝙏𝙍⎠
Altın Üyelik Bitiş Tarihi
12-09-2027
StrConv fonksiyonu, küçük "i" yi büyük "İ" olarak çeviremiyor sanırım.
... MsgBox StrConv("i", vbUpperCase, 1055) ...
Zeki Bey, sizin de belirttiğiniz gibi küçük i nedense büyük İ ye dönüştüremiyor. Söz konusu fonksiyonun kullanımında LCID isteğe bağlı olduğu belirtilmiş buna göre MsgBox StrConv("i", vbUpperCase) sadece i harfini büyütmek istediğimizde malesef yine I olarak karşımıza çıkarıyor..
 
Son düzenleme:

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
StrConv fonksiyonu, küçük "i" yi büyük "İ" olarak çeviremiyor sanırım.
Sadece "i" harfi değil, "ı" harfinde de olumsuz sonuç verdi. Bu harfleri küçültürken herhangi bir sorun olmuyor. Türkçe yönlü büyük harfe çevirme konusunda bu kod çok kullanışlı olmayacak gibi görünüyor. Bunun yerine her zaman kullandığımız deg = UCase(Replace(Replace(mtn, "ı", "I"), "i", "İ")) kodunu kullanmak gerekecek sanırım. Bir de yerleşik fonksiyonun makro karşılığını denedim ve olumlu sonuç aldım. deg = Evaluate("upper(""" & mtn & """)")
Kelimelerin ilk harflerinin büyük harfe çevrilmesinde "vbProperCase" "ı,i" de takıldı. Bunun için WorksheetFunction.Proper(mtn) kodunu denedim, olumlu sonuç aldım.
Kod:
Sub dene()
mtn = "ç-ğ-ı-i-u-ü-ş-o-ö"
mtn2 = "ılıman bir iklim. içim çok sıkılıyor."
deg1 = UCase(Replace(Replace(mtn, "ı", "I"), "i", "İ"))
deg2 = Evaluate("upper(""" & mtn & """)")
deg3 = WorksheetFunction.Proper(mtn2)
MsgBox deg1 & Chr(10) & "-----" & Chr(10) & deg2 & Chr(10) & "-----" & Chr(10) & deg3
End Sub
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,301
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Esasında, gerek çeşitli yazılım dillerinde gerekse internette Türkçe karakterlerde yaşadığımız sorun; vakti zamanında yapılan uluslararası toplantılarda gerekli önemi vermememiz nedeniyle, Türkçe karakterlerin bilişim dilinde yer almamasıdır.

Bu sorun, yazılım dilinden başlayıp standart bilgisayar klavyesine kadar gitmektedir. Bu nedenle sonradan Türkçe-Q ve Türkçe-F klavye gibi enterasan şeyler icat edilmek zorunda kaldı. Yazılımlarda beklenmeyen bir sorun çıktığında ise, herkes bir şekilde başının çaresine bakıyor.

Konunun Excel boyutuna gelirsek; VBA'de değil ama neyse ki Excel'in yerleşik fonksiyonlarındaki karakter setlerinde, dil kodlamasında Türkçe karakterler yer aldığı için çok sıkıntı çekmiyoruz.

Bu nedenle; VBA ile uğraşırken eğer Türkçe karakterleri büyük/küçük harf yapmak ihtiyacını hisettiğimde ben genellikle kullanılmayan bir hücreye metni yazıp, VBA'den Excel'in ilgili fonksiyonunu kullanarak işimi çözmeye çalışırım.

Örnek olarak;

Kod:
Sub Test()
    mystr1 = "ğüşıiöç"
    Range("AA1") = mystr1
  
    myStrUpper = [upper(AA1)]
    MsgBox mystr1 & ">>>>  " & myStrUpper
  
    mystr2 = "ĞÜŞIİÖÇ"
    Range("AA1") = mystr1
  
    myStrLower = [lower(AA1)]
    MsgBox mystr2 & ">>>>  " & myStrLower
End Sub
 
Son düzenleme:

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,249
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Türkçe karakterlerde yaşadığımız sorun; vakti zamanında yapılan uluslararası toplantılarda gerekli önemi vermemiz nedeniyle, Türkçe karakterlerin bilişim dilinde yer almamasıdır.
Haluk Bey, bu sorun aslında framework ile çözüldü. Bence sorun, Visual Basic kodlarının başvurduğu dll'in yazıldığı zamandaki haliyle kalması. (VBA -> "VBA?.dll" ve VB6 -> "msvbvm.60.dll")

VB.Net (framework) ile gördüğüm kadarıyla TR dil sorunu çözülmüş. "StrConv" olması gerektiği gibi çalışıyor. Yine aklıma gelen VBA/VB6 daki bir türlü düzeltilmeyen "Round" fonksiyonundaki yuvarlama hatası da çözülmüş.

Hayalimdeki VBA editörü gün gelir de framework başvurusu ile çalışırsa tadına doyulmayan bir editör olacağı kesin.

Selamlar.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,301
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Zeki Bey; MS Türkiye bu tür forumları takip ediyor mu bilmiyorum ama, hep birlikte umalım da bu düzenlemeri yapsınlar ......

Selamlar,

.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Konuya cevap veren herkese çok teşekkür ediyorum.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,790
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Sayın Ömer Bey, gece gece rahatsız ediyorum.

Mesaj kutusuna yanlışlıkla rakam yazdığımda kod içerisindeki ElseIf Cells(Rows.Count, sor).End(3).Row = 1 Then kısmını sarıya boyuyor.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Elseif IsNumeric.... kısmını yukarı alarak cevabımı tekrar güncelledim.
 
Üst