Trần Thanh Sơn
Trần Thanh Sơn
Thảo luận 1 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 81 lượt xem

Sub EIB_CopyDel_GL44()'' EIB_CopyDel_GL44 Macro'' Sheets("GL44_0")Select Range("A1")Select

Sub EIB_CopyDel_GL44()

'

' EIB_CopyDel_GL44 Macro

'


'

    Sheets("GL44_0").Select

    Range("A1").Select

    Range(Selection, Selection.End(xlToRight)).Select

    Range(Selection, Selection.End(xlDown)).Select

    Selection.ClearContents

    Sheets("GL44_1").Select

    Range("A1").Select

    Range(Selection, Selection.End(xlToRight)).Select

    Range(Selection, Selection.End(xlDown)).Select

    Selection.Copy

    Sheets("GL44_0").Select

    Range("A1").Select

    ActiveSheet.Paste

    Application.CutCopyMode = False

    Sheets("GL44_1").Select

    Selection.ClearContents

    Sheets("BC Room").Select

End Sub

Tại sao tôi xử dụng ghi macro đơn giản như trên mà cứ quay lòng vòng ko ra kết quả, trong khi tôi thử làm bằng tay, copy, del, past thì rất nhanh, nhờ Thầy giải thích giúp
Thảo luận 1 câu trả lời
Lượt xem 81 lượt xem
Vỗ tay vỗ tay
Trần Thanh Sơn 09:06 - Jun 07, 2021

Mình giải thích như sau nhé:

Khi bạn thực hiện thao tác, bạn sẽ không cảm thấy "chậm" do bạn thao tác liên tục và chủ động. Còn trong trường hợp nhìn máy tính tự làm thì sẽ thấy nó chậm.

Nguyên nhân do các đoạn code này chủ yếu là từ record => Xuất hiện rất nhiều các lệnh select, copy, paste => đây đều là các lệnh khiến code chạy chậm và tốn dung lượng bộ nhớ.

Khi tìm hiểu kỹ hơn bạn sẽ thấy để làm việc này thì code chỉ đơn giản là:

1. Xác định phạm vi vùng dữ liệu nơi cho

2. Xác định phạm vi vùng dữ liệu nơi nhận

3. Code cho - nhận dữ liệu:

Sheet_nhan_du_lieu.Range("Vùng dữ liệu nhận").Value = Sheet_cho_du_lieu.Range("Vùng dữ liệu cho").Value

trong đó phạm vi vùng cho và vùng nhận phải bằng nhau.

Vậy nên để code chạy tốt hơn thì bạn cứ học tiếp các phần sau nhé, đặc biệt là các chương 5-6-7-8.

Vỗ tay vỗ tay
Câu hỏi liên quan
@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội