Tìm kiếm và thay thế dữ liệu linh hoạt bằng Code VBA

Tôi có mảng dữ liệu là chuỗi, tôi muốn tìm kiếm rồi sắp xếp , thay thế và thêm vào
Ví dụ ở Cột B, Bố và Chán không thuộc động từ, chú thích của "Bố" đã bị sai
tôi muốn Bấm Macro là dữ liệu được sắp xếp dự trên 3 dữ liệu nhập vào ở Ô B8,C8,D8.
mong được sự giúp đỡ từ GPE, xin cám ơn

thử với code

Sub GPE()
Dim Arr, Darr, Tu As String, ChuThich As String, Loai As String
Dim k As Integer, n As Integer, i As Long, ik As Long
Darr = Array(Range("B12", Range("B" & Rows.Count).End(xlUp)).Resize(, 2).Value, _
        Range("D12", Range("D" & Rows.Count).End(xlUp)).Resize(, 2).Value, _
        Range("F12", Range("F" & Rows.Count).End(xlUp)).Resize(, 2).Value)
Tu = UCase(Range("B8").Value)
ChuThich = Range("C8").Value
Loai = Range("D8").Value
k = (Application.Match(Loai, Range("B10:F10"), 0) + 1) / 2 - 1
For n = 0 To 2
  Arr = Darr(n)
  For i = 1 To UBound(Arr)
    If UCase(Arr(i, 1)) = Tu Then
      If n = k Then
        Arr(i, 2) = ChuThich
        Range("B12").Offset(, n * 2).Resize(UBound(Arr), UBound(Arr, 2)) = Arr
        Exit Sub
      Else
        If i < UBound(Arr) Then
          For ik = i To UBound(Arr) - 1
            Arr(ik, 1) = Arr(ik + 1, 1)
            Arr(ik, 2) = Arr(ik + 1, 2)
          Next ik
          Arr(ik, 1) = Empty
          Arr(ik, 2) = Empty
        End If
        Range("B12").Offset(, n * 2).Resize(UBound(Arr), UBound(Arr, 2)) = Arr
        Arr = Darr(k)
        i = 12 + UBound(Arr)
        Cells(i, k * 2 + 2).Value = Range("B8").Value
        Cells(i, k * 2 + 3).Value = Range("C8").Value
      End If
    End If
  Next i
Next n
End Sub

www.giaiphapexcel.com/diendan/threads/t%C3%ACm-ki%E1%BA%BFm-v%C3%A0-thay-th%E1%BA%BF-d%E1%BB%AF-li%E1%BB%87u-linh-ho%E1%BA%A1t-b%E1%BA%B1ng-code-vba.127913/

Xây dựng Lương 3P, KPI cho Doanh nghiệp
Khóa học SprinGO phù hợp

Xây dựng Lương 3P, KPI cho Doanh nghiệp

Làm thế nào để trả lương cho nhân viên chính xác nhất? Đây là một trong những câu hỏi khó trong quản trị nhân...

Xem khóa học
Chia sẻ: