tvphong192
Thành viên mới
- Tham gia
- 13/12/22
- Bài viết
- 8
- Được thích
- 0
For i = Range(Cot_kt & Rows.Count).End(xlUp).Row To . . . . Step . . .
Sub Macro1()
Dim Cot_kt As String
Dim Dong_dau&, Dong_cuoi&
Cot_kt = "L"
Dong_dau = 4
Dong_cuoi = Cells(Rows.Count, "M").End(xlUp).Row
Range(Cells(Dong_dau, Cot_kt), Cells(Dong_cuoi, Cot_kt)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Sub Macro1() Dim Cot_kt As String Dim Dong_dau&, Dong_cuoi& Cot_kt = "L" Dong_dau = 4 Dong_cuoi = Cells(Rows.Count, "M").End(xlUp).Row Range(Cells(Dong_dau, Cot_kt), Cells(Dong_cuoi, Cot_kt)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Xài đỡ cái này: Thay vì Loop từ dòng rồi delete thì chọn tất cả các dòng trống 1 lần và delete 1 lần thôi
PHP:Sub Macro1() Dim Cot_kt As String Dim Dong_dau&, Dong_cuoi& Cot_kt = "L" Dong_dau = 4 Dong_cuoi = Cells(Rows.Count, "M").End(xlUp).Row Range(Cells(Dong_dau, Cot_kt), Cells(Dong_cuoi, Cot_kt)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub
Thực tế dữ liệu trên file thực tếDữ liệu trên file của bạn là ít nên chưa thể nói nhanh hay chậm,. . .
Ta có thể cải thiện bằng cách thô thiển nhất như sau:
Thay vì tìm thấy dòng nào ta 'xào' dòng ý, thì thử phương thức Union gom hết chúng lại & xóa 1 lần;
Có thể sẽ có nhiều cách khác nữa, mong bạn từ từ tìm hiểu thêm;
Tiện đây xin nhắc bạn trong câu lệnh
sẽ không xóa những dòng có khi là cần xóaMã:For i = Range(Cot_kt & Rows.Count).End(xlUp).Row To . . . . Step . . .
Dữ liệu trên file của bạn là ít nên chưa thể nói nhanh hay chậm,. . .
Ta có thể cải thiện bằng cách thô thiển nhất như sau:
Thay vì tìm thấy dòng nào ta 'xào' dòng ý, thì thử phương thức Union gom hết chúng lại & xóa 1 lần;
Có thể sẽ có nhiều cách khác nữa, mong bạn từ từ tìm hiểu thêm;
Tiện đây xin nhắc bạn trong câu lệnh
sẽ không xóa những dòng có khi là cần xóaMã:For i = Range(Cot_kt & Rows.Count).End(xlUp).Row To . . . . Step . . .
Sub Macro1()
Dim Cot_kt As String
Dim i&, Dong_dau&
Dong_dau = 4
Cot_kt = "L"
For i = Range(Cot_kt & Rows.Count).End(xlUp).Row To Dong_dau Step -1
If Range(Cot_kt & i).Value = "" Then Range(Cot_kt & i).EntireRow.Delete
Next
End Sub
E cảm ơn anh nhé! e không rành về VBA cho lắm nhưng code a Edit đã chạy nhanh hơn rội ạXài đỡ cái này: Thay vì Loop từ dòng rồi delete thì chọn tất cả các dòng trống 1 lần và delete 1 lần thôi
PHP:Sub Macro1() Dim Cot_kt As String Dim Dong_dau&, Dong_cuoi& Cot_kt = "L" Dong_dau = 4 Dong_cuoi = Cells(Rows.Count, "M").End(xlUp).Row Range(Cells(Dong_dau, Cot_kt), Cells(Dong_cuoi, Cot_kt)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub
Thực tế dữ liệu trên file là nhiều hơn và mình cũng không rành về VBA nên phải Recog Macro để lấy code nên tốc độ xử lý chưa được nhanh>Dữ liệu trên file của bạn là ít nên chưa thể nói nhanh hay chậm,. . .
Ta có thể cải thiện bằng cách thô thiển nhất như sau:
Thay vì tìm thấy dòng nào ta 'xào' dòng ý, thì thử phương thức Union gom hết chúng lại & xóa 1 lần;
Có thể sẽ có nhiều cách khác nữa, mong bạn từ từ tìm hiểu thêm;
Tiện đây xin nhắc bạn trong câu lệnh
sẽ không xóa những dòng có khi là cần xóaMã:For i = Range(Cot_kt & Rows.Count).End(xlUp).Row To . . . . Step . . .
Xài đỡ cái này: Thay vì Loop từ dòng rồi delete thì chọn tất cả các dòng trống 1 lần và delete 1 lần thôi
PHP:Sub Macro1() '. . . . . . . . . . ' Dong_cuoi = Cells(Rows.Count, "M").End(xlUp).Row Range(Cells(Dong_dau, Cot_kt), Cells(Dong_cuoi, Cot_kt)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub
Dòng | Part Name | Spec | HB | ||||||||||
4 | 1 | ||||||||||||
5 | 2203-000627 | C-CER,CHIP;22pF,5%,50V,C0G,TP,1005,T0.5, | C-CER,CHIP | ||||||||||
6 | 2007-007142 | R-CHIP;10Kohm,1%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
7 | 2007-007798 | R-CHIP;10ohm,1%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
8 | 2007-000170 | R-CHIP;1Mohm,5%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
9 | 2203-006048 | C-CER,CHIP;100nF,10%,10V,X7R,TP,1005,T0. | C-CER,CHIP | ||||||||||
10 | 0406-001810 | DIODE-TVS;uClamp2461P,27V,32V,36V,23000M | DIODE-TVS | ||||||||||
11 | 1405-001271 | VARISTOR;35V,20VDC,5A,1005,TP,100V,10pF | VARISTOR | ||||||||||
12 | 2007-007766 | R-CHIP;2Kohm,1%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
13 | 2007-000148 | R-CHIP;10Kohm,5%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
14 | 2007-000140 | R-CHIP;1Kohm,5%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
15 | 2007-000171 | R-CHIP;0ohm,5%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
16 | 2203-007544 | C-CER,CHIP;100nF,10%,50V,X7R,TP,1005,T0. | C-CER,CHIP | ||||||||||
17 | 2007-000109 | R-CHIP;1Mohm,5%,1/10W,TP,1608 | R-CHIP | ||||||||||
18 | 2007-000162 | R-CHIP;100Kohm,5%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
19 | 2007-000137 | R-CHIP;2Kohm,5%,1/16W,TP,1005 | R-CHIP | ||||||||||
20 | 2007-000157 | R-CHIP;47Kohm,5%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
21 | 2007-000138 | R-CHIP;100ohm,5%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
22 | 2007-000174 | R-CHIP;47ohm,5%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
23 | 2007-007588 | R-CHIP;1.8Kohm,1%,1/16W,TP,1005,T0.3 | R-CHIP | ||||||||||
24 | 2007-008779 | R-CHIP;0ohm,5%,1/16W,TP,1005,T0.35,Gener | R-CHIP | ||||||||||
#N/A | #N/A | ||||||||||||
#N/A | #N/A | ||||||||||||
27 | 2203-000812 | C-CER,CHIP;33pF,5%,50V,C0G,TP,1005,-55to | C-CER,CHIP | ||||||||||
28 | 2007-007142 | R-CHIP;10Kohm,1%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
29 | 2203-000627 | C-CER,CHIP;22pF,5%,50V,C0G,TP,1005,T0.5, | C-CER,CHIP | ||||||||||
30 | 2007-007136 | R-CHIP;4.7Kohm,1%,1/16W,TP,1005,T0.35 | R-CHIP | ||||||||||
31 | 2203-000679 | C-CER,CHIP;27pF,5%,50V,C0G,TP,1005,T0.5, | C-CER,CHIP | ||||||||||
32 | 2203-006126 | C-CER,CHIP;47nF,10%,16V,X7R,TP,1005,T0.5 | C-CER,CHIP | ||||||||||
#N/A | #N/A | ||||||||||||