Hàm tách ký tự trong chuỗi

Liên hệ QC

hongphuong1997

Thành viên tiêu biểu
Tham gia
12/11/17
Bài viết
770
Được thích
321
Giới tính
Nữ
Cháu kính nhỡ các Bác và các anh chị viết giúp cháu hàm tách và lấy các ký tự trong chuỗi với ạ
Cháu xin cảm ơn ạ
 

File đính kèm

  • Hàm tách ký tự trong chuỗi.xlsm
    8.6 KB · Đọc: 24
Cháu kính nhỡ các Bác và các anh chị viết giúp cháu hàm tách và lấy các ký tự trong chuỗi với ạ
Cháu xin cảm ơn ạ
Bài này bạn làm được đấy chứ nhỉ?
Biến Tmp = Split chuỗi 1, vị trí nào trong Tmp thỏa mãn = "a12" thì lấy vị trí đó trong split của chuỗi 2 thôi!
ví dụ:
Tmp = split(chuỗi 1,",")
Tmp1 = split(chuỗi 2,",")
vòng lặp for i=0 to min(ubound(tmp),ubound(tmp1))
Tại i=1
--> Tmp(i) = "a12" thỏa mãn -> giá trị đầu tiên là Tmp1(i) -> Cứ thế cho các vị trí khác -> nối thành chuỗi.
 
Upvote 0
Cháu kính nhỡ các Bác và các anh chị viết giúp cháu hàm tách và lấy các ký tự trong chuỗi với ạ
Cháu xin cảm ơn ạ
Theo tôi thì
Mã:
Dim DK as String, S1,S2,i
with Sheet5
DK=.Range("E2")
S1=Split(.Range("G3")
S2=Split(.Range("G5")
for i = 0 to Uboun(S1)
if S1(i)=DK Then
Tmp=Tmp& "," & S2(i)
end if
End with
Các phần khác bạn tự hoàn thiện
 
Upvote 0
Cháu kính nhỡ các Bác và các anh chị viết giúp cháu hàm tách và lấy các ký tự trong chuỗi với ạ
Cháu xin cảm ơn ạ
Không bẫy lỗi.
Mã:
Function laykytu(ByVal dk As String, ByVal kytu1 As String, ByVal kytu2 As String, ByVal phancach As String) As String
         Dim i As Long, T1, T2, s As String
         T1 = Split(phancach & kytu1, phancach)
         T2 = Split(phancach & kytu2, phancach)
         For i = 1 To UBound(T1)
             If dk = T1(i) Then
                s = s & phancach & T2(i)
             End If
         Next i
         If Len(s) Then
            laykytu = Right(s, Len(s) - Len(phancach))
         Else
            laykytu = ""
         End If
End Function
=laykytu(E2,G3,G5,",")
 
Upvote 0
Không bẫy lỗi.
Mã:
Function laykytu(ByVal dk As String, ByVal kytu1 As String, ByVal kytu2 As String, ByVal phancach As String) As String
         Dim i As Long, T1, T2, s As String
         T1 = Split(phancach & kytu1, phancach)
         T2 = Split(phancach & kytu2, phancach)
         For i = 1 To UBound(T1)
             If dk = T1(i) Then
                s = s & phancach & T2(i)
             End If
         Next i
         If Len(s) Then
            laykytu = Right(s, Len(s) - Len(phancach))
         Else
            laykytu = ""
         End If
End Function
=laykytu(E2,G3,G5,",")
Split lbound = 0 nhé bác
À em để ý chưa kỹ bác có nối thêm phancach, nhưng hình như không cần thiết lắm :D
 
Upvote 0
Không bẫy lỗi.
Mã:
Function laykytu(ByVal dk As String, ByVal kytu1 As String, ByVal kytu2 As String, ByVal phancach As String) As String
         Dim i As Long, T1, T2, s As String
         T1 = Split(phancach & kytu1, phancach)
         T2 = Split(phancach & kytu2, phancach)
         For i = 1 To UBound(T1)
             If dk = T1(i) Then
                s = s & phancach & T2(i)
             End If
         Next i
         If Len(s) Then
            laykytu = Right(s, Len(s) - Len(phancach))
         Else
            laykytu = ""
         End If
End Function
=laykytu(E2,G3,G5,",")
Em cảm ơn tất cả các Bác và các anh ạ
@snow25 @Nhattanktnn @HUONGHCKT @befaint
 
Upvote 0
Web KT

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

Back
Top Bottom