Soru Hücre içeriğindeki belli bir metni, sütundaki başka metin ile değiştirme

issever

Altın Üye
Katılım
22 Mart 2009
Mesajlar
78
Excel Vers. ve Dili
Ev: 2010 - Türkçe Plus
İş: 2016 - Türkçe Plus
Altın Üyelik Bitiş Tarihi
24-02-2030
Excel dosyası

Arkadaşlar selam,

Ektede görüldüğü gibi,

B sütununda veriler var.
B2: BAL.YAKA
B18: BİS YK
B29: BİS YK JRLI U.KOL SLNK

gibi.. Bunları bir standart haline getirmeye çalışıyorum. En basitinden, Selanik 3 farklı şekilde yazılmış (SLNK, SELNİK, SEL)

J sütununa yanlış yazılmış hallerini liste haline getirdim. K sütununa da doğruları.

B sütununu ara; J de içeriğinde geçen yanlış yazılmış içerik varsa, Kya göre düzelt.

Bunun formül şekli nedir? Yardımcı olursanız çok sevinirim.


 
Son düzenleme:

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub TEST()
    sonB = Cells(Rows.Count, 2).End(3).Row
    sonJ = Cells(Rows.Count, "J").End(3).Row
    For i = 2 To sonJ
        Range("B2:B" & sonB).Replace Cells(i, "J"), Cells(i, "K")
    Next i
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Aşağıdaki, kodları kullanabilirsiniz.

Kod:
Sub Test()
    Dim Bak As Range
    Dim Bak2 As Range
    With ThisWorkbook.Worksheets("Sayfa2") 'Buraya kendi sayfa adınızı yazın
        For Each Bak In .Range("J2:J" & .Cells(Rows.Count, "J").End(3).Row)
            For Each Bak2 In .Range("B2:B" & .Cells(Rows.Count, "B").End(3).Row)
                Bak2 = WorksheetFunction.Substitute(Bak2, Bak, Bak(1, 2))
            Next
        Next
    End With
End Sub
 

issever

Altın Üye
Katılım
22 Mart 2009
Mesajlar
78
Excel Vers. ve Dili
Ev: 2010 - Türkçe Plus
İş: 2016 - Türkçe Plus
Altın Üyelik Bitiş Tarihi
24-02-2030
Kod:
Sub TEST()
    sonB = Cells(Rows.Count, 2).End(3).Row
    sonJ = Cells(Rows.Count, "J").End(3).Row
    For i = 2 To sonJ
        Range("B2:B" & sonB).Replace Cells(i, "J"), Cells(i, "K")
    Next i
End Sub
Merhaba.
Aşağıdaki, kodları kullanabilirsiniz.

Kod:
Sub Test()
    Dim Bak As Range
    Dim Bak2 As Range
    With ThisWorkbook.Worksheets("Sayfa2") 'Buraya kendi sayfa adınızı yazın
        For Each Bak In .Range("J2:J" & .Cells(Rows.Count, "J").End(3).Row)
            For Each Bak2 In .Range("B2:B" & .Cells(Rows.Count, "B").End(3).Row)
                Bak2 = WorksheetFunction.Substitute(Bak2, Bak, Bak(1, 2))
            Next
        Next
    End With
End Sub
Bu makrolarda ön izleme yapabiliyor muyuz? "Gone is gone" oluyor sonra, gitti mi gidiyor :)


.

Bence kuralı sizin belirlemeniz gerekir. Yani dediğinizin tersini yapacaksınız.

Yaptığınız bu kısaltmaları kullanacaksınız.

Dosyayı inceleyin.

http://www.dosya.tc/server16/zsrjft/KISA.xlsx.html
İdris Serdar bey, A'dan, H kısmına kadar olan yer üretici firmadan bana iletilen kısım. Oradaki düzensizlikleri kaldırmak için böyle bir yol istiyorum. Kısa kod istemiyorum aslında.


Emekleriniz için tekrardan teşekkür ederim,, yukarıdaki makrolar da iş görüyor ama, ben bunu şablon haline getireceğim için formülle olması benim daha çok işime geliyor.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Aşağıdaki kod B sütununun yanına yeni bir sütun ekler ve sonuçları yeni sütuna yazar.
Yeni sütundaki verileri kontrol edebilirsiniz.

Kod:
Sub Test()
    Dim Bak As Range
    Dim Bak2 As Range
    Columns("C:C").Insert
    With ThisWorkbook.Worksheets("Sayfa2") 'Buraya kendi sayfa adınızı yazın
        For Each Bak In .Range("K2:K" & .Cells(Rows.Count, "K").End(3).Row)
            For Each Bak2 In .Range("B2:B" & .Cells(Rows.Count, "B").End(3).Row)
                If Bak2(1, 2) = "" Or Bak2(1, 2) = Bak2 Then Bak2(1, 2) = WorksheetFunction.Substitute(Bak2, Bak, Bak(1, 2))
            Next
        Next
    End With
End Sub
 
Son düzenleme:

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Madde Kodlarını neden kullanmıyorsunuz?

Onlar da mı defolu geliyor?

.
 

issever

Altın Üye
Katılım
22 Mart 2009
Mesajlar
78
Excel Vers. ve Dili
Ev: 2010 - Türkçe Plus
İş: 2016 - Türkçe Plus
Altın Üyelik Bitiş Tarihi
24-02-2030
.

Madde Kodlarını neden kullanmıyorsunuz?

Onlar da mı defolu geliyor?

.
İdris bey, madde kodlarını ürün kodu kısmında kullanıyorum.

Ama benim burada yapmak istediğim, bir ürünün ismine selnik yazılmış, diğerine slnk, öbürüne de selanik. bunların hepsi selanik ve ona çevirmeye çalışıyorum.

Aşağıdaki kod B sütununun yanına yeni bir sütun ekler ve sonuçları yeni sütuna yazar.
Yeni sütundaki verileri kontrol edebilirsiniz.

Kod:
Sub Test()
    Dim Bak As Range
    Dim Bak2 As Range
    Columns("C:C").Insert
    With ThisWorkbook.Worksheets("Sayfa2") 'Buraya kendi sayfa adınızı yazın
        For Each Bak In .Range("K2:K" & .Cells(Rows.Count, "K").End(3).Row)
            For Each Bak2 In .Range("B2:B" & .Cells(Rows.Count, "B").End(3).Row)
                If Bak2(1, 2) = "" Or Bak2(1, 2) = Bak2 Then Bak2(1, 2) = WorksheetFunction.Substitute(Bak2, Bak, Bak(1, 2))
            Next
        Next
    End With
End Sub
Çok teşekkür ederim ilginize, sağolun. işimi gördü.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Anlatamıyorum herhalde?

Madde kodundan uzun madde adını bulursunuz. Bunu bulduktan sonra verdiğim formülle kısaltmalarını bulun. Daha sonra bu kısaltmaları yerinde kullanın.

Örnek bir dosya ekleyin. Nasıl olacağını göstereyim.

.
 
Son düzenleme:
Üst