Thứ Sáu, 1 tháng 4, 2016

VBA Excel - Hàm Đổi ký tự trong chuỗi

Public Function f_doikytu(chuoikytu1 As String, kytucu1 As String, kytumoi1 As String)

solanxuathien = 0

If UCase(kytucu1) = UCase(kytumoi1) Then
GoTo thoat
End If

dodaikytucu1 = Len(kytucu1)
dodaikytumoi1 = Len(kytumoi1)
dodaichuoi1 = Len(chuoikytu1)

If dodaichuoi1 = 0 Or dodaikytucu1 = 0 Then
GoTo thoat
End If

For i = 1 To dodaichuoi1
For m = i To dodaichuoi1
kytucat1 = Mid(chuoikytu1, m, dodaikytucu1)
If UCase(kytucat1) = UCase(kytucu1) Then
solanxuathien = solanxuathien + 1
End If
Next m
Next i

For i = 1 To solanxuathien
dongtext = f_laplai_chuoi(chuoikytu1, kytucu1, kytumoi1)
chuoikytu1 = dongtext
Next

 

If solanxuathien = 0 Then
dongtext = chuoikytu1
End If

f_doikytu = dongtext

thoat:

End Function

Public Function f_laplai_chuoi(chuoikytu As String, kytucu As String, kytumoi As String)

If UCase(kytucu) = UCase(kytumoi) Then
GoTo thoat
End If

Dim chuoikytumoi As String

dodaikytucu = Len(kytucu)
dodaikytumoi = Len(kytumoi)
dodaichuoi = Len(chuoikytu)

chuoikytumoi = ""

If dodaichuoi = 0 Or dodaikytucu = 0 Then
GoTo thoat
Else

stt = 0

For i = 1 To dodaichuoi
kytucat = Mid(chuoikytu, i, dodaikytucu)
If UCase(kytucat) = UCase(kytucu) Then
stt = stt + 1

If i = 1 Then

chuoikytumoi = kytumoi & Right(chuoikytu, dodaichuoi - dodaikytucu)
GoTo thoat
End If

If i = dodaichuoi Then
chuoikytumoi = Left(chuoikytu, dodaichuoi - dodaikytucu) & kytumoi
GoTo thoat
End If


chuoikytumoi = Left(chuoikytu, i - 1) & kytumoi & Right(chuoikytu, dodaichuoi - dodaikytucu - (i - 1))

End If
Next
End If

If stt = 0 Then
chuoikytumoi = chuoikytu
End If

thoat:

f_laplai_chuoi = chuoikytumoi

End Function

 


EmoticonEmoticon