Hücre İçindeki Metni Listeye Göre Değiştirme -Kullanıcı Tanımlı Fonksiyon

Hücre içindeki değerleri belli bir aralıktaki değerlere göre değiştirmek için aşağıdaki kullanıcı tanımlı fonksiyon kullanılabilir.

Örneğin elinizde 800 satırlık bir liste var. Buradaki 800 kelimeyi yeni 800 kelimeyle değiştirmek istiyorsunuz. İhtiyacınız olan fonksiyon tam bu fonksiyondur. Kelime ve karakter düzeyinde çalışmaktadır. Eklenti ve kullanıcı tanımlı fonksiyon nasıl yapılır burada ve burada.

 

adsız2

 

Function Metin_Değiştir(Metin As Variant, Eski_Değer As Range, Yeni_Değer As Range) As Variant
Dim değişim As String
değişim = Metin
Dim sayi1, sayi2 As Integer

sayi1 = Eski_Değer.Count
sayi2 = Yeni_Değer.Count

Dim eski(), yeni() As Variant ‘Array boyutlarını belirle
ReDim eski(sayi1)
ReDim yeni(sayi2)

If UBound(eski) <> UBound(yeni) Then ‘ Boyutlar eşit değilse formül hata versin. Bu da anlaşılır olsun
Metin_Değiştir = “boyutlar eşit değil. Eski ve yeni değer alanları eşit olmalıdır”
Exit Function
End If

i = 1
For Each cell In Eski_Değer ‘ Aralıktaki değerleri arraya ata
eski(i) = cell.Value
i = i + 1
Next cell

i = 1
For Each cell In Yeni_Değer ‘ Aralıktaki değerleri arraya ata
yeni(i) = cell.Value
i = i + 1
Next cell
For i = 1 To UBound(eski) ‘Metin değiştir.
değişim = Replace(değişim, eski(i), yeni(i), 1, -1, vbBinaryCompare)
Next i
Metin_Değiştir = değişim

End Function

One thought on “Hücre İçindeki Metni Listeye Göre Değiştirme -Kullanıcı Tanımlı Fonksiyon

Bir cevap yazın

Your email address will not be published. Required fields are marked *.

*
*
You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>