SaveTheDay
Thành viên mới

- Tham gia
- 30/12/09
- Bài viết
- 26
- Được thích
- 0
Vẫn đang chờ đợi sự trợ giúp.
Mình sửa giúp cho bạn 1 đoạn đến phần sort dữ liêu. Phần còn lại cũng đơn giản thôi. Bạn chịu khó vọc nha.Mới làm quen với macro, nên mình đa số toàn dùng chức năng record, do đó file excel chạy khá chậm. Các bạn chỉnh lại ngắn lại dùm mình, hoặc đề xuất cho mình hướng giải quyết khác, với mục đích giúp file chạy nhanh hơn.
Thank
Sub Tinhshortage()
Dim xuat As Worksheet
Set xuat = Sheets("Xuat")
With Sheets("Tamtinh")
xuat.Range(xuat.[B1], xuat.[F1000000].End(3)).Copy
.Range("C1").PasteSpecial 3
xuat.Range(xuat.[G1], xuat.[G1000000].End(3)).Copy
.Range("B1").PasteSpecial 3
xuat.Range(xuat.[S1], xuat.[S1000000].End(3)).Copy
.Range("H1").PasteSpecial 3
.Range(.[B2], .[J1000000].End(3)).Sort key1:=[D1], key2:=[C1], key3:=[B1], Header:=1
End With
End Sub
Bạn nói sort theo 3 cột, thì code rất rõ ràng là cột D, rồi cột C và cuối cùng là cột B. Nếu không chạy thì chịu thôi vì khả năng mình chỉ có thể viết bi nhiêu đó thôi. Không biết có bạn nào viết khác hay không. Bạn kiên nhẫn đợi nhé.Phần copy sheet xuat qua tam tạm tốc độ được cải thiện rõ ràng, nhưng phần sort nó không chạy bạn ơi
Thành vậy xem sau có thể bị thiếu vài key cho phép.Range(.[B2], .[J1000000].End(3)).Sort key1:=[D1], key2:=[C1], key3:=[B1], Header:=1
.Range(.[B2], .[J1000000].End(3)).Sort [D1], xlAscending, [C1], , xlAscending, [B1], xlAscending, xlYes