Tôi đã làm việc trong dự án này được một thời gian và cảm thấy như mình đang đến rất gần nhưng cuối cùng lại gặp vấn đề. Tôi đã lấy các đoạn mã này từ các nguồn khác nhau. Tôi rất vui khi nói rằng tôi không nhận được bất kỳ lỗi nào. Thật không may, tôi cũng không nhận được kết quả.
Tôi có hai tờ, một tờ có dữ liệu tĩnh (chính) và bảng kia được cập nhật hàng tuần sao chép / dán (nguồn) Những gì tôi đang cố gắng làm là khớp dữ liệu được nối từ chính sang nguồn và sao chép các ô cụ thể trên một kết quả khớp. Khi tôi chạy macro, tôi nhận được kết quả trên một dòng trong số 50. Vòng lặp bên trong tiếp tục đến tận cùng của trang tính nhưng vòng lặp bên ngoài dường như không thay đổi hàng trên trang đích (chính) Tôi không thực sự chắc chắn làm thế nào một hàng đang được dân cư. Tôi biết tôi đang thiếu một cái gì đó ở đây nhưng những gì?
Dim wsSource As Worksheet
Dim wsMain As Worksheet
Dim rngs As Variant
Dim rngm As Variant
Dim srow As Integer
Dim mrow As Integer
Dim i As Long
Dim lastrow As Long
Set wsSource = Worksheets("Source")
Set wsMain = Worksheets("Main")
Set rngs = wsSource.Range("L2")
Set rngm = wsMain.Range("L2")
'Clear old data
wsMain.Range("D2:L1500").ClearContents
wsSource.Range("L2:L1500").ClearContents
wsMain.Range("L2:L" & Range("A65000").End(xlUp).Row).FormulaR1C1 = "=CONCATENATE(RC[-11],RC[-10],RC[-9])"
wsSource.Range("L2:L" & Range("A65000").End(xlUp).Row).FormulaR1C1 = "=CONCATENATE(RC[-11],RC[-10],RC[-9])"
lastrow = Range("L" & Rows.Count).End(xlUp).Row
srow = 2
mrow = 2
Do Until rngm.Offset(mrow, 0).Value <> "" And rngm.Offset(mrow, 1).Value <> ""
Do Until rngs.Offset(srow, 0).Value <> "" And rngs.Offset(mrow, 1).Value <> ""
If (rngs.Offset(srow, 0).Value = rngm.Offset(mrow, 0).Value) Then
rngm.Offset(mrow, -8).Value = rngs.Offset(srow, -8).Value
rngm.Offset(mrow, -7).Value = rngs.Offset(srow, -7).Value
rngm.Offset(mrow, -6).Value = rngs.Offset(srow, -6).Value
rngm.Offset(mrow, -5).Value = rngs.Offset(srow, -5).Value
rngm.Offset(mrow, -4).Value = rngs.Offset(srow, -4).Value
rngm.Offset(mrow, -3).Value = rngs.Offset(srow, -3).Value
rngm.Offset(mrow, -2).Value = rngs.Offset(srow, -2).Value
End If
srow = srow + 1
Loop
mrow = mrow + 1
Loop
Tôi sẽ rất vui khi tải lên bảng tính nếu có cách để làm điều đó