Nhờ giúp đỡ code khác để tăng tốc độ? (1 người xem)

Liên hệ QC

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

Hoàng Nhật Phương

Thành viên gắn bó
Tham gia
5/11/15
Bài viết
1,895
Được thích
1,219
Xin chào các bạn,
Tôi muốn lấy dữ liệu từ sheet 1 sang sheet 2 theo điều kiện.
và tôi đã viết 1 code sau:

Mã:
Sub CopyIf()

    Dim lastRow As Long
    Dim rngMS As Range, rng As Range, codeSff As Range
    Dim nameCol As Range
    
    With Sheet2
    
        lastRow = Sheet1.Cells(Rows.Count, "A").End(xlUp).Row
        Set rngMS = Sheet1.Range("A7:A" & lastRow)
        Set nameCol = .Range("A8:AFO8")
        .Rows("53:66").ClearContents
        For Each codeSff In nameCol
            For Each rng In rngMS
                If rng.Value = codeSff.Value Then
                   rng.Offset(0, 6).Resize(, 11).Copy
                   codeSff.Offset(45, 0).PasteSpecial _
                                    Paste:=xlPasteValuesAndNumberFormats, _
                                Operation:=xlNone, _
                            SkipBlanks:=False, _
                        Transpose:=True
                End If
            Next rng
        Next codeSff
    
    End With

End Sub

Nhưng tốc độ xử lý rất chậm,
Nhờ các bạn giúp đỡ tôi 1 code khác ạ.
 

File đính kèm

Theo điều kiện gì thì mình nêu ra, không lẽ bắt người khác dịch ngược code của bạn để làm?
Mà làm bao nhiêu bài rồi mà vẫn hổng vận dụng được gì sao...

Xin chào befaint,
bạn khoẻ chứ ạ.

hihi Oanh Thơ không nghiên cứu code nên giờ vẫn vậy befaint ạ.

Điều kiện là so sánh các số ở dòng 8 sheet2 với cột A ở sheet 1 nếu trùng khớp số thì chuyển diệu từ cột G đến cột P trong sheet 1 sang cột có số trùng tại sheet 2 ạ.
Nhờ befaint và các bạn xem giúp ạ.
 
Upvote 0
chuyển diệu từ cột G đến cột P trong sheet 1 sang cột có số trùng tại sheet 2 ạ.
Chuyển sang như nào? Xoay 90 độ rồi dán vào vị trí tương ứng? Hay dồn các giá trị lại (loại các ô trống)? Rồi để vào dòng nào? Ẩn mấy chục dòng ở sheet2 làm chi vậy?

Cho ví dụ minh họa đi, cứ hỏi hoài....................................
 
Upvote 0
Chuyển sang như nào? Xoay 90 độ rồi dán vào vị trí tương ứng? Hay dồn các giá trị lại (loại các ô trống)? Rồi để vào dòng nào? Ẩn mấy chục dòng ở sheet2 làm chi vậy?

Cho ví dụ minh họa đi, cứ hỏi hoài....................................


chuyển diệu từ cột G đến cột P trong sheet 1 sang cột có số trùng tại sheet 2 ạ.
Chuyển sang như nào? Xoay 90 độ rồi dán vào vị trí tương ứng? Hay dồn các giá trị lại (loại các ô trống)? Rồi để vào dòng nào? Ẩn mấy chục dòng ở sheet2 làm chi vậy?

Dạ vâng chuyển từ dòng thành cột (xoay 90 độ) dán vào vị trí tương ứng (mã số giống nhau)
--->Từ cột G cột P sheet1 chuyển sang dòng 53 đến dòng 63 của sheet 2 đó ạ.
Ẩn dòng là vì các dòng đó còn dữ liệu khác ạ.

File gửi bài 1 là ví dụ thực tế đó ạ.
Nhờ bạn xem giúp ạ.
 
Upvote 0
chuyển diệu từ cột G đến cột P trong sheet 1 sang cột có số trùng tại sheet 2 ạ.
Chuyển sang như nào? Xoay 90 độ rồi dán vào vị trí tương ứng? Hay dồn các giá trị lại (loại các ô trống)? Rồi để vào dòng nào? Ẩn mấy chục dòng ở sheet2 làm chi vậy?

Dạ vâng chuyển từ dòng thành cột (xoay 90 độ) dán vào vị trí tương ứng (mã số giống nhau)
--->Từ cột G cột P sheet1 chuyển sang dòng 53 đến dòng 63 của sheet 2 đó ạ.
Ẩn dòng là vì các dòng đó còn dữ liệu khác ạ.

File gửi bài 1 là ví dụ thực tế đó ạ.
Nhờ bạn xem giúp ạ.
 

File đính kèm

Upvote 0

Xin cảm ơn befaint rất nhiều,
Sao lại chính xác và nhanh thế ạ :D
Code của bạn đến khi nào Oanh Thơ mới hiểu đc để mà viết ra ạ T_T
 
Upvote 0
Web KT

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

Back
Top Bottom