Xin chào anh chị
Hiện tại em đang dùng 2 code sau để xóa các dòng thỏa điều kiện, nhưng vừa rồi form của em tới hơn 4k dòng thì phải mất gần 30P mới thực hiện xong. Em đã test thử, nếu chỉ cho xóa cột thôi thì chạy ok, nhưng để phần xóa dòng này vào thì ôi lâu quá.
Nhờ anh chị xem giúp em có cách nào chạy nhanh hơn không nha.
1- Code 1:
2- Code thứ 2:
Hiện tại em đang dùng 2 code sau để xóa các dòng thỏa điều kiện, nhưng vừa rồi form của em tới hơn 4k dòng thì phải mất gần 30P mới thực hiện xong. Em đã test thử, nếu chỉ cho xóa cột thôi thì chạy ok, nhưng để phần xóa dòng này vào thì ôi lâu quá.
Nhờ anh chị xem giúp em có cách nào chạy nhanh hơn không nha.
1- Code 1:
PHP:
Sub Delete()
Dim Cll As Range, lR As Long
With Application
.ScreenUpdating = False: .DisplayAlerts = False: .Calculation = xlCalculationManual: .EnableEvents = False
End With
On Error Resume Next
ThisWorkbook.Save
With Sheets("Sheet1")
lR = .Cells.Find("*", , , , , xlPrevious).Row 'Xac dinh dong cuoi'
.Range("A8:S" & lR).Value = .Range("A8:S" & lR).Value 'Chuyen thanh gia tri',khong co cong thuc
.[B:B,E:E,H:T,W:X].Delete 'Xoa cac cot theo yeu cau'
.Range("D8:D" & lR).AutoFilter 'Tat che do loc
.Range("D8:D" & lR).AutoFilter 1, "PW*" 'Loc cac dong co gia tri PW
.Range("D9:D" & lR).SpecialCells(12).EntireRow.Delete 'Xoa ket qua loc
.Range("D8:D" & lR).AutoFilter 'Tat che do loc
End With
ThisWorkbook.SaveAs Left(ThisWorkbook.FullName, Len(ThisWorkbook.FullName) - 5) & "-TEST.xlsx", 51 'Luu mot ban sao khong chua Macro'
With Application
.ScreenUpdating = True: .DisplayAlerts = True: .Calculation = xlCalculationAutomatic: .EnableEvents = True
End With
End Sub
PHP:
Sub Delete1()
Dim Cll As Range, lR As Long
With Application
.ScreenUpdating = False: .DisplayAlerts = False: .Calculation = xlCalculationManual: .EnableEvents = False
End With
On Error Resume Next
ThisWorkbook.Save
With Sheets("Sheet1")
.Range("A8", .[S10000].End(xlUp)).Value = .Range("A8", .[S10000].End(xlUp)).Value 'Chuyen thanh gia tri',khong co cong thuc .[B:B,E:E,H:T,W:X].Delete 'Xoa cac cot theo yeu cau'
.Range("D8", .[D10000].End(xlUp)).AutoFilter 'Tat che do loc
.Range("D8", .[D10000].End(xlUp)).AutoFilter 1, "PW*" 'Loc cac dong co gia tri PW
.Range("D9", .[D10000].End(xlUp)).SpecialCells(12).EntireRow.Delete 'Xoa ket qua loc
.Range("D8", .[D10000].End(xlUp)).AutoFilter 'Tat che do loc
End With
ThisWorkbook.SaveAs Left(ThisWorkbook.FullName, Len(ThisWorkbook.FullName) - 5) & "-TEST1.xlsx", 51 'Luu mot ban sao khong chua Macro'
With Application
.ScreenUpdating = True: .DisplayAlerts = True: .Calculation = xlCalculationAutomatic: .EnableEvents = True
End With
End Sub







khởi phải thêm một động tác chọn install

