Mong GPE giúp tôi lấy chuỗi nằm trước chuỗi :
Code này do tiền bối HieuCD giúp tôi lấy chuỗi đằng sau chuỗi, tuy nhiên giờ tôi muốn lấy chuỗi nằm trước chuỗi có sẵn, nếu trước chuỗi có sẵn không có chuỗi nào thì không có lỗi xảy ra. mong GPE giúp đỡ tôi, xin cảm ơn!Public Function FindNhac(Rng As Range, Txt As String, Optional Col As Boolean = False) As String Dim I As Long, Tmp As String Txt = Application.Trim(Txt) For I = 1 To Rng.Rows.Count Tmp = Application.Trim(Rng(I, 1)) If UCase(Txt) & " " Like "*" & UCase(Tmp) & " *" Then If Col = False Then FindNhac = Rng(I, 1) Else FindNhac = Right(Txt, Len(Txt) - InStr(UCase(Txt), UCase(Tmp)) - Len(Tmp)) End If Exit Function End If Next I End Function=FindNhac($E$6:$E$41,H6) =FindNhac($E$6:$E$41,H6,1)Câu trả lời tốt nhất:
Cảm ơn Tiền bối HieuCDOption Explicit Public Function FindNhac(Rng As Range, Txt As String, Optional Col As Integer = 0) As String Dim i As Long, Tmp As String Txt = Application.Trim(Txt) For i = 1 To Rng.Rows.Count Tmp = Application.Trim(Rng(i, 1)) If UCase(Txt) Like "*" & UCase(Tmp) & "*" Then If Col = 0 Then FindNhac = Trim(Rng(i, 1)) ElseIf Col = 1 Then FindNhac = Trim(Right(Txt, Len(Txt) - InStr(UCase(Txt), UCase(Tmp)) - Len(Tmp) + 1)) ElseIf Col = -1 Then FindNhac = Trim(Left(Txt, InStr(UCase(Txt), UCase(Tmp)) - 1)) End If Exit Function End If Next i End Function=FindNhac(E6:E21,H6,-1) =FindNhac(E6:E21,H6) =FindNhac(E6:E21,H6,0) =FindNhac(E6:E21,H6,1)
Bạn thêm dòng lệnh FindNhac = "#Error" trước End Function thử xem.
Public Function FindNhac(Rng As Range, Txt As String, Optional Col As Boolean = False) As String
Dim I As Long, Tmp As String
Txt = Application.Trim(Txt)
For I = 1 To Rng.Rows.Count
Tmp = Application.Trim(Rng(I, 1))
If UCase(Txt) & " " Like "*" & UCase(Tmp) & " *" Then
If Col = False Then
FindNhac = Rng(I, 1)
Else
FindNhac = Right(Txt, Len(Txt) - InStr(UCase(Txt), UCase(Tmp)) - Len(Tmp))
End If
Exit Function
End If
Next I
FindNhac = "#Error"
End Function
www.giaiphapexcel.com/diendan/threads/gi%C3%BAp-l%E1%BA%A5y-chu%E1%BB%97i-n%E1%BA%B1m-tr%C6%B0%E1%BB%9Bc-m%E1%BB%99t-chu%E1%BB%97i.124747/post-781209
thử code mới
Option Explicit
Public Function FindNhac(Rng As Range, Txt As String, Optional Col As Integer = 0) As String
Dim i As Long, Tmp As String
Txt = Application.Trim(Txt)
For i = 1 To Rng.Rows.Count
Tmp = Application.Trim(Rng(i, 1))
If UCase(Txt) Like "*" & UCase(Tmp) & "*" Then
If Col = 0 Then
FindNhac = Trim(Rng(i, 1))
ElseIf Col = 1 Then FindNhac = Trim(Right(Txt, Len(Txt) - InStr(UCase(Txt), UCase(Tmp)) - Len(Tmp) + 1))
ElseIf Col = -1 Then FindNhac = Trim(Left(Txt, InStr(UCase(Txt), UCase(Tmp)) - 1))
End If
Exit Function
End If
Next i
End Function
thử các công thức
=FindNhac(E6:E21,H6,-1)
=FindNhac(E6:E21,H6)
=FindNhac(E6:E21,H6,0)
=FindNhac(E6:E21,H6,1)
www.giaiphapexcel.com/diendan/threads/gi%C3%BAp-l%E1%BA%A5y-chu%E1%BB%97i-n%E1%BA%B1m-tr%C6%B0%E1%BB%9Bc-m%E1%BB%99t-chu%E1%BB%97i.124747/post-781221
Khóa học Power PI – Ứng dung trong Nhân sự
TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...
Xem khóa học