Makro ile bul ve değiştir

ethemozt

Altın Üye
Katılım
3 Mart 2010
Mesajlar
20
Excel Vers. ve Dili
MS Office 2010
Bir excel dosyam var aşağıdaki kod ile A sütünundaki "İşlem Hatasız Gerçekleşti" ifadesini "Başarılı" ifadesine çevirebiliyorum fakat A sütünundaki "İşlem Hatasız Gerçekleşti" ifadesinin dışındaki tüm ifadeleri "Hatalı" olarak bir türlü çeviremedim yardımlarınız için şimdiden teşekkür ederim

Selection.Replace What:="İşlem Hatasız Gerçekleşti*", Replacement:="Başarılı", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,802
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Selection.Replace sadece seçil hücrelerde işlem yapar.

Selection yerine Cells yazın. sayfadaki bütün hücrelerde arar.

Yani kod şöyle olmalı
cells.Replace What:="İşlem Hatasız Gerçekleşti*", Replacement:="Başarılı", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
 

ethemozt

Altın Üye
Katılım
3 Mart 2010
Mesajlar
20
Excel Vers. ve Dili
MS Office 2010
Sayın dalgalikur hızlı cevabınız için teşekkür ederim ama sanırım ben tam anlatamadım
A sütünunda "İşlem Hatasız Gerçekleşti" ifadesinin dışında yüzlerce ifade daha var ben onların hepsini "Hatalı" sadece "İşlem Hatasız Gerçekleşti" ifadesini "Başarılı" yapmak istiyorum
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,802
Excel Vers. ve Dili
2019 Türkçe
Önce "İşlem Hatasız Gerçekleşti" ifadesini "Başarılı" yapın.
Sadece A sütununda yapılacaksa şu kodu kullanın.
Kod:
range("A:A").Replace What:="İşlem Hatasız Gerçekleşti*", Replacement:="Başarılı", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Şimdi Filtre yapın.
Sadece "Başarılı" yanındaki onay kutusunu temizleyin. Tamamı tıklatın.
Listede "Başarılı" hariç tüm ifadeler kalmış olacak.
Bir tanesine "Hatalı" yazın ve diğer hücrelere kopyalayın.
 

ethemozt

Altın Üye
Katılım
3 Mart 2010
Mesajlar
20
Excel Vers. ve Dili
MS Office 2010
Sayın dalgalikur ben hali hazırda bu işi bahsettiğiniz şekilde yapıyorum ama günde 300 kere yapmak zorunda olduğum için işlemi basitleştirmeye çalışıyorum
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,802
Excel Vers. ve Dili
2019 Türkçe
Aşağıdaki kod ile yapabilirsiniz.

Kod:
Sub Test()
    Dim Bak As Long, Say As Long
    Range("A:A").Replace What:="İşlem Hatasız Gerçekleşti*", Replacement:="Başarılı", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Say = Cells(Rows.Count, "A").End(xlUp).Row
    For Bak = 2 To Say
        If Not Cells(Bak, "A") = "Başarılı" Then
            Cells(Bak, "A") = "Hatalı"
        End If
    Next
    MsgBox "İşlem tamamlandı"
End Sub
 

ethemozt

Altın Üye
Katılım
3 Mart 2010
Mesajlar
20
Excel Vers. ve Dili
MS Office 2010
Sayın dalgalikur yardımlarınız ve ilginiz için çok teşekkür ederim çok güzel oldu.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,802
Excel Vers. ve Dili
2019 Türkçe
Rica ederim. Kolay gelsin iyi çalışmalar.
 
Üst