• DİKKAT

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

Makro ile replace. Yardım?

Katılım
14 Şubat 2011
Mesajlar
24
Excel Vers. ve Dili
2007
merhaba,

Ben excelde belirli bir aralıktaki belirli karakterleri makro kullanarak değiştirmek istiyorum. bunun için aşağıdaki makroyu kullanıyorum fakat makrodaki "AF2:AG40000" aralığını her dosya için tek tek değiştirmem gerekiyor.

Bunun yerine excelde yalnızca seçtiğim aralıktaki hücreleri değiştiren bir makro nasıl yazabilirim?

teşekkürler

Kod:
Sub Degistir()
 
    Range("AF2:AG40000").Replace "ö", "o"
    Range("AF2:AG40000").Replace "ç", "c"
    Range("AF2:AG40000").Replace "ı", "i"
    Range("AF2:AG40000").Replace "ş", "s"
    Range("AF2:AG40000").Replace "ü", "u"
    Range("AF2:AG40000").Replace "ğ", "g"
    Range("AF2:AG40000").Replace "Ö", "o"
    Range("AF2:AG40000").Replace "Ç", "c"
    Range("AF2:AG40000").Replace "İ", "i"
    Range("AF2:AG40000").Replace "I", "i"
    Range("AF2:AG40000").Replace "Ş", "s"
    Range("AF2:AG40000").Replace "Ü", "u"
    Range("AF2:AG40000").Replace "Ğ", "g"

End Sub
 
merhaba,

Ben excelde belirli bir aralıktaki belirli karakterleri makro kullanarak değiştirmek istiyorum. bunun için aşağıdaki makroyu kullanıyorum fakat makrodaki "AF2:AG40000" aralığını her dosya için tek tek değiştirmem gerekiyor.

Bunun yerine excelde yalnızca seçtiğim aralıktaki hücreleri değiştiren bir makro nasıl yazabilirim?

teşekkürler

Kod:
Sub Degistir()
 
    Range("AF2:AG40000").Replace "ö", "o"
    Range("AF2:AG40000").Replace "ç", "c"
    Range("AF2:AG40000").Replace "ı", "i"
    Range("AF2:AG40000").Replace "ş", "s"
    Range("AF2:AG40000").Replace "ü", "u"
    Range("AF2:AG40000").Replace "ğ", "g"
    Range("AF2:AG40000").Replace "Ö", "o"
    Range("AF2:AG40000").Replace "Ç", "c"
    Range("AF2:AG40000").Replace "İ", "i"
    Range("AF2:AG40000").Replace "I", "i"
    Range("AF2:AG40000").Replace "Ş", "s"
    Range("AF2:AG40000").Replace "Ü", "u"
    Range("AF2:AG40000").Replace "Ğ", "g"
 
End Sub

Mause ile seçtiğin hücreleri yani seçtiğin alandaki değerleri değiştiriyor.

kod:

Sub Degistir()
adres = ActiveWindow.RangeSelection.Address
Range(adres).Replace "ö", "o"
Range(adres).Replace "ç", "c"
Range(adres).Replace "ı", "i"
Range(adres).Replace "ş", "s"
Range(adres).Replace "ü", "u"
Range(adres).Replace "ğ", "g"
Range(adres).Replace "Ö", "o"
Range(adres).Replace "Ç", "c"
Range(adres).Replace "İ", "i"
Range(adres).Replace "I", "i"
Range(adres).Replace "Ş", "s"
Range(adres).Replace "Ü", "u"
Range(adres).Replace "Ğ", "g"
End Sub
 
Çok teşekkür ederim Halit bey,

Ben birde şöyle bir makro buldum, belki ilgilenen arkadaşların işine yarayabilir. Ama sizin önerdiğiniz yöntem daha kullanışlı..

Kod:
Sub BulDegistir()
Dim aln As Range, BulArr(), DeglArr(), a As Integer
On Error GoTo 10
Set aln = Application.InputBox(prompt:="Sütun / Sütunlar seçin...", _
Title:="Seçilecek Sütun / Sütunlar", Type:=8)

If aln Is Nothing Then Exit Sub


BulArr = Array("ö", "ç", "ı", "ş", "ü", "ğ", "Ö", "Ç", "İ", "Ş", "Ü", "Ğ") 'Bulunacaklar
DegArr = Array("o", "c", "i", "s", "u", "g", "o", "c", "i", "s", "u", "g") 'Değiştirilecekler
Application.ScreenUpdating = False

For a = LBound(BulArr) To UBound(BulArr)
aln.Replace what:=BulArr(a), replacement:=DegArr(a), LookAt:=xlPart, SearchOrder:=xlByRows
Next a

Application.ScreenUpdating = True
10
End Sub
 
Geri
Üst