Giúp em hàm cắt ký tự khi đã xuất hiện ở cột khác (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

1 cách khác:
PHP:
Sub abc()
    Columns(2).Value = Columns(1).Value
    With Columns("B") 
        .Replace ("C" & ChrW(7842) & "M " & ChrW(7912) & "NG") & "*", ""
        .Replace "MÀN HÌNH", ""
    End With
End Sub
Bài này em thấy bạn chủ Thread muốn replace không những chỉ 1 cột mà là nhiều cột bên cạnh (Dòng số 2).

Anh khái quát hóa cho nhiều cột thì "bá đạo"
 
Trong file e đã mô tả chi tiết, nhờ anh chị xem giúp
Tổng quát
Mã:
=RemoveText(A2;$C2:$D2)
PHP:
Function RemoveText(Text As String, rText As Variant) As String
Dim aText As Variant, i As Long
aText = SortLength(rText)
For i = 1 To UBound(aText)
    Text = Replace(Text, aText(i), vbTab)
Next
RemoveText = Replace(Text, vbTab, "")
End Function
Private Function SortLength(ByVal rText As Variant)
Dim n As Long, k As Long, i As Long, j As Long, aResult() As Variant, item As Variant, tmp As String
rText = rText
If IsArray(rText) Then
    For Each item In rText
        n = n + 1
        ReDim Preserve aResult(1 To n)
        aResult(n) = item
    Next
    For i = 1 To n - 1
        k = i
        For j = i + 1 To n
            If Len(aResult(j)) > Len(aResult(k)) Then k = j
        Next
        tmp = aResult(i): aResult(i) = aResult(k): aResult(k) = tmp
    Next
Else
    ReDim aResult(1 To 1)
    aResult(1) = rText
End If
SortLength = aResult
End Function
 
Mình thì toàn làm tạm:
Mã:
=CutText($A2,$C2:$D2)
Mã:
Function CutText(a As Range, Rangeselect As Range) As String
Dim b As String, c As String
b = a
    For Each cell In Rangeselect
        b = Replace(b, cell, "")
    Next
c = Trim(b)
If Right(c, 1) = "/" Then
    CutText = Trim(Left(c, Len(c) - 1))
Else
    CutText = c
End If
End Function
 
Mình thì toàn làm tạm:
Mã:
=CutText($A2,$C2:$D2)
Mã:
Function CutText(a As Range, Rangeselect As Range) As String
Dim b As String, c As String
b = a
    For Each cell In Rangeselect
        b = Replace(b, cell, "")
    Next
c = Trim(b)
If Right(c, 1) = "/" Then
    CutText = Trim(Left(c, Len(c) - 1))
Else
    CutText = c
End If
End Function
Làm tạm thì ra kết quả "tạm" :D
1524453220310.png
 
uh, đúng vậy. Haha, ko phải bài toán của mình có khác, chả suy nghĩ gì. @@
Sửa thêm vậy:
Mã:
Function CutText(a As Range, Rangeselect As Range) As String
Dim b As String, c As String
b = a
    For Each cell In Rangeselect
        d = Split(cell, " ")
        For Each xx In d
            b = Replace(b, xx, "")
        Next
    Next
c = Trim(b)
If Right(c, 1) = "/" Then
    CutText = Trim(Left(c, Len(c) - 1))
Else
    CutText = c
End If
End Function
mà còn ... lằng nhằng thêm tí nữa là sẽ... đọc tiếp =))
 
Lần chỉnh sửa cuối:
uh, đúng vậy. Haha, ko phải bài toán của mình có khác, chả suy nghĩ gì. @@
Sửa thêm vậy:
Mã:
Function CutText(a As Range, Rangeselect As Range) As String
Dim b As String, c As String
b = a
    For Each cell In Rangeselect
        d = Split(cell, " ")
        For Each xx In d
            b = Replace(b, xx, "")
        Next
    Next
c = Trim(b)
If Right(c, 1) = "/" Then
    CutText = Trim(Left(c, Len(c) - 1))
Else
    CutText = c
End If
End Function
Cắt "Diễn giải" trong "Diễn đàn giải pháp Excel" chắc sẽ được "đàn pháp Excel" :)
 
Web KT

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

Back
Top Bottom