Tách ký tự bên trái theo điều kiện tìm kiếm

Liên hệ QC

Yeuvoyeucon

Thành viên hoạt động
Tham gia
30/10/09
Bài viết
143
Được thích
23
Em có File kèm theo, G1 đến G6 là các từ làm điều kiện, giờ em muốn tách và lấy các ký tự/chữ ở bên trái các từ điều kiện này như ví dụ em làm kèm theo thì Code nào thực hiện được ạ !
 

File đính kèm

  • Tach ky tu.xlsm
    26.2 KB · Đọc: 46
Em có File kèm theo, G1 đến G6 là các từ làm điều kiện, giờ em muốn tách và lấy các ký tự/chữ ở bên trái các từ điều kiện này như ví dụ em làm kèm theo thì Code nào thực hiện được ạ !
Thử code
Mã:
Sub tach()
   Dim i As Long, lr As Long, arr, data, a As Long, j As Integer
   With Sheets("tach_kytu")
       lr = .Range("A" & Rows.Count).End(xlUp).Row
       If lr < 4 Then Exit Sub
       .Range("B4:B" & lr).ClearContents
       arr = .Range("A4:B" & lr).Value
       data = .Range("G1:G6").Value
       For i = 1 To UBound(arr)
           For j = 1 To UBound(data)
               a = InStr(arr(i, 1), data(j, 1))
               If a > 0 Then
                  arr(i, 2) = Left(arr(i, 1), a - 2)
                  Exit For
               End If
           Next j
       Next i
       .Range("A4:B" & lr).Value = arr
 End With
End Sub
 
Upvote 0
Thử code
Mã:
Sub tach()
   Dim i As Long, lr As Long, arr, data, a As Long, j As Integer
   With Sheets("tach_kytu")
       lr = .Range("A" & Rows.Count).End(xlUp).Row
       If lr < 4 Then Exit Sub
       .Range("B4:B" & lr).ClearContents
       arr = .Range("A4:B" & lr).Value
       data = .Range("G1:G6").Value
       For i = 1 To UBound(arr)
           For j = 1 To UBound(data)
               a = InStr(arr(i, 1), data(j, 1))
               If a > 0 Then
                  arr(i, 2) = Left(arr(i, 1), a - 2)
                  Exit For
               End If
           Next j
       Next i
       .Range("A4:B" & lr).Value = arr
 End With
End Sub
Code chạy đúng rồi ạ ! Cảm ơn anh nhiều ạ!
 
Upvote 0
Em có File kèm theo, G1 đến G6 là các từ làm điều kiện, giờ em muốn tách và lấy các ký tự/chữ ở bên trái các từ điều kiện này như ví dụ em làm kèm theo thì Code nào thực hiện được ạ !
C4=IFERROR(LEFT(A4,SEARCH(LOOKUP(2,1/((SEARCH($G$1:$G$6,A4))),$G$1:$G$6),A4)-1),"") kéo xuống là Ok
 
Upvote 0
Giải trí với công thức trong C4:

=IFERROR(LEFT(A4,-LOOKUP(0,-SEARCH($G$1:$G$6,A4))-1),"")

.
 
Upvote 0
Web KT

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

Back
Top Bottom