Bạn thử cái hàm ngu ngu này xem nhé.Xin chào các bạn,
Nhờ các bạn giúp đỡ tôi vấn đề chuyển đổi dữ liệu theo điều kiện như hình ảnh/file kèm với ạ.
Xin cảm ơn.
View attachment 232970
Function doichu(ByVal mang As Range, ByVal dk As String) As String
Dim arr, i As Long, s As String, dic As Object
s = dk
Set dic = CreateObject("scripting.dictionary")
arr = mang.Value
For i = 1 To UBound(arr)
s = Replace(s, arr(i, 1), arr(i, 2))
Next i
doichu = s
End Function
Set dic làm cái gì zậy chời?Set dic = CreateObject("scripting.dictionary")
Dùng cột phụ thì được hok bạn.Xin chào các bạn,
Nhờ các bạn giúp đỡ tôi vấn đề chuyển đổi dữ liệu theo điều kiện như hình ảnh/file kèm với ạ.
Xin cảm ơn.
View attachment 232970
À anh ơi em đang làm lại chuyển hướng nên không bỏ đi.Đang làm mà mình lại đổi sang thuật toán khác ấy.Set dic làm cái gì zậy chời?
Bạn thử cái hàm ngu ngu này xem nhé.
Mã:Function doichu(ByVal mang As Range, ByVal dk As String) As String Dim arr, i As Long, s As String, dic As Object s = dk Set dic = CreateObject("scripting.dictionary") arr = mang.Value For i = 1 To UBound(arr) s = Replace(s, arr(i, 1), arr(i, 2)) Next i doichu = s End Function
Cảm ơn các bạn nhiều, mình cần sử dụng vba cho bài toán này.
Bạn có thể chuyển giúp mình Function thành sub được không ạ?
Function ChuyenDoiChuoi(ChuoiCanChuyen As String, rng As Range)
Dim i As Integer, pos As Integer
Dim s1 As String
Dim arrVung As Variant
arrVung = rng.Value
s1 = ChuoiCanChuyen
For i = LBound(arrVung, 1) To UBound(arrVung, 1)
pos = InStr(1, ChuoiCanChuyen, arrVung(i, 1), 1)
If pos > 0 Then
s1 = Replace(s1, arrVung(i, 1), arrVung(i, 2))
End If
Next
ChuyenDoiChuoi = s1
End Function