[Help] Tự thay dữ liệu cũ bằng dữ liệu mới

Liên hệ QC

nero2428

Thành viên mới
Tham gia
19/10/19
Bài viết
14
Được thích
2
Như tiêu đề mình cần thay giá trị cũ bằng giá trị mới thỏa mãn 2 điều kiện: Process và Code cũ. Sau khi copy dữ liệu vào phần nhập liệu thì cần có một nút mà nhấn vào nó sẽ tự tìm trong phần nhập liệu những giá trị theo Process và Code cũ, sau đó tự thay Code cũ bằng Code mới. Lưu ý 1 Code cũ có thẻ thuộc 2 Process khác nhau.

Thanks cả nhà.
1574426987042.png
 

File đính kèm

  • test1.xlsx
    8.3 KB · Đọc: 11
Mã:
Sub Chuyen()
    Dim m As Long, n As Long, i As Long, j As Long
    n = Range("A65000").End(xlUp).Row
    m = Range("D65000").End(xlUp).Row
    For i = 3 To n
        For j = 3 To m
            If Range("A" & i) = Range("D" & j) And Range("B" & i) = Range("E" & j) Then
                Range("B" & i) = Range("F" & j)
            End If
        Next
    Next
End Sub

Dán Sub này vào sheet1 rồi chạy nó
 
T
Mã:
Sub Chuyen()
    Dim m As Long, n As Long, i As Long, j As Long
    n = Range("A65000").End(xlUp).Row
    m = Range("D65000").End(xlUp).Row
    For i = 3 To n
        For j = 3 To m
            If Range("A" & i) = Range("D" & j) And Range("B" & i) = Range("E" & j) Then
                Range("B" & i) = Range("F" & j)
            End If
        Next
    Next
End Sub

Dán Sub này vào sheet1 rồi chạy nó
Thanks bạn nhiều. Đã chạy được.
 
Sub Chuyen()
For j = 3 To m
If Range("A" & i) = Range("D" & j) And Range("B" & i) = Range("E" & j) Then
Range("B" & i) = Range("F" & j)
End If
Next
Khi đã tìm thấy và thay thế, nên thoát vòng for j để tăng tốc:
PHP:
For j = 3 To m
            If Range("A" & i) = Range("D" & j) And Range("B" & i) = Range("E" & j) Then
                Range("B" & i) = Range("F" & j)
               Exit for
            End If           
        Next
Nếu dữ liệu lớn, dùng Dic_to có thể cải thiện tốc độ. :)
 
Khi đã tìm thấy và thay thế, nên thoát vòng for j để tăng tốc:
...
Nếu dữ liệu lớn, dùng Dic_to có thể cải thiện tốc độ. :)
Nếu muốn cải tiến tốc độ thì sắp xếp bảng dò, và dùng phương pháp dò nhị phân.
Tuy nhiên, bài này có lẽ cách dễ nhất là dùng hàm Find.

Lưu ý: đề bài này không thực sự hoàn chỉnh. Nếu không tìm được code để thay thế thì sao?
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom