Hỗ trợ hàm UDF chuyển đổi FT(10-25)

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Tình nghĩa giang hồ

Thanh sơn bất cải, lục thủy trường lưu
Tham gia
29/9/20
Bài viết
330
Được thích
429
Chào anh chị em có trường hợp như hình và file đính kèm nhờ anh chị hỗ trợ giúp em.
Quy luật của nó.
Số 48 đầu tiên kế bên FT(10-25): sẽ thành 1230x2465x
Chữ FT(10-25) và khoảng trắng phía trước: sẽ thành mm
VD:
MFC 9326FR/9326FR UFEPA 4816 FT(10-25) sẽ thành MFC 9326FR/9326FR UFEPA 1230x2465x16mm
MFC 9326FR/9326FR UFEPA 4848 FT(10-25) sẽ thành MFC 9326FR/9326FR UFEPA 1230x2465x48mm
MFC 486EV/486EV UFEPA 4802.5 FT(10-25) sẽ thành MFC 486EV/486EV UFEPA 1230x2465x02.5mm

Các trường hợp em tô đỏ là khu vực gây khó cho công thức, hàm.
Bài này em có viết thử 1 đoạn code, nhưng những vị trí em tô đỏ thì em không biết xử lý.

Function thaythe_FT(chuoi As String)
Dim list
list = Split(chuoi, "")
list(UBound(list)) = Replace(Replace(list(UBound(list)), " 48", "1230x2465x"), " FT(10-25)", "mm")
thaythe_FT = Join(list, " ")
End Function

Bài này có thể giải quyết bằng công thức Excel, nhưng vì tính linh động, sử dụng hàm ở mọi vị trí, nên em mong muốn dùng hàm UDF- Function thì tốt cho công việc hơn.
Nhờ anh chị hỗ trợ giúp em trường hợp này.
Em cảm ơn anh chị.
 

File đính kèm

  • FT.xlsb
    10.1 KB · Đọc: 5
  • FT 10-25.PNG
    FT 10-25.PNG
    378.6 KB · Đọc: 6
Lần chỉnh sửa cuối:
Function thaythe_FT(chuoi As String)
Dim list
list = Split(chuoi, "")
list(UBound(list)) = Replace(Replace(list(UBound(list)), " 48", "1230x2465x"), " FT(10-25)", "mm")
thaythe_FT = Join(list, " ")
End Function

Thử

Mã:
Function Thaythe_FT(chuoi As String) As String
Dim list As Variant, i As Long
list = Split(chuoi, " ")
For i = 0 To UBound(list) - 1
    If Left(list(i + 1), 3) = "FT(" Then
        list(i) = "1230x2465x" & Mid(list(i), 3) & "mm"
        Exit For
    End If
Next
Thaythe_FT = Join(list, " ")
End Function
 
Upvote 0
Thử

Mã:
Function Thaythe_FT(chuoi As String) As String
Dim list As Variant, i As Long
list = Split(chuoi, " ")
For i = 0 To UBound(list) - 1
    If Left(list(i + 1), 3) = "FT(" Then
        list(i) = "1230x2465x" & Mid(list(i), 3) & "mm"
        Exit For
    End If
Next
Thaythe_FT = Join(list, " ")
End Function
Thaythe_FT = Join(list, " ")
thay bằng
Mã:
Thaythe_FT = Replace(Join(list, " "), " FT(10-25)", "")
cho vừa ý thớt bác hả?
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom