Çoklu Bul Değiştir Dictionary Yöntemiyle

12/03/2020, 15:26

accessman

Sub BulDegistir1()

Set pDict = CreateObject("Scripting.Dictionary")
pDict.Add "ÅŸ", "ş"
pDict.Add "ı", "ı"
pDict.Add "Ç", "Ç"
pDict.Add "Ä°", "İ"
pDict.Add "Ş", "Ş"
pDict.Add "ü", "ü"
pDict.Add "Ö", "Ö"
pDict.Add "Ãœ", "Ü"
pDict.Add "Ğ", "Ğ"
pDict.Add "ÄŸ", "ğ"
pDict.Add "ö", "ö"
pDict.Add "ç", "ç"
'Buraya istenildiği kadar ekleme yapılabilir.

For Each p In pDict
    Columns("C:AA").Replace what:=p, replacement:=pDict.Item(p), LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
        Next
End Sub
12/03/2020, 23:04

feraz

(12/03/2020, 15:26)accessman yazdı:
Sub BulDegistir1()

Set pDict = CreateObject("Scripting.Dictionary")
pDict.Add "ÅŸ", "ş"
pDict.Add "ı", "ı"
pDict.Add "Ç", "Ç"
pDict.Add "Ä°", "İ"
pDict.Add "Ş", "Ş"
pDict.Add "ü", "ü"
pDict.Add "Ö", "Ö"
pDict.Add "Ãœ", "Ü"
pDict.Add "Ğ", "Ğ"
pDict.Add "ÄŸ", "ğ"
pDict.Add "ö", "ö"
pDict.Add "ç", "ç"
'Buraya istenildiği kadar ekleme yapılabilir.

For Each p In pDict
    Columns("C:AA").Replace what:=p, replacement:=pDict.Item(p), LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
        Next
End Sub

Bence bu yöntem formüllü hücrelerde işe yaramaz.
10/03/2021, 00:15

AS_CENK

Bir örnek dosya yapıp yükleyebilir misin?
10/03/2021, 00:21

feraz

Bir Excel açın ve modül ekleyin ve ilk mesajdaki kodu olduğu gibi ekleyin modüle ve çalıştırın.

Kodlardan anladığım kadarıyla c:aa aralığındaki bozuk olanları koddaki karşılıkarı ile değiştirir.

(12/03/2020, 15:26)accessman yazdı: pDict.Add "ÅŸ", "ş"
Yani koda göre ş den öndeki bozuk karakter c:aa aralığında varsa ş olarak değiştirir diğerleride aynı şekilde değişir.