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
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.