VBA Xóa Dòng Trùng, Trống | Giải Pháp Excel
Có thể bạn quan tâm
- Trang chủ Có gì mới Hoạt động gần nhất Tác giả
- Diễn đàn Tìm bài viết mới Tìm theo chuyên mục
- Video Video về Excel Video về tin học khác Tin tức về tin học chung
- Thông tin mới Tìm bài mới Tài Nguyên Mới Hoạt động gần nhất
- Tài nguyên Đánh giá mới nhất Tìm tài nguyên
- Đóng góp
Tìm kiếm
Mọi nơi Đề tài Diễn đàn này Đề tài này Chỉ tìm trong tiêu đề Tìm kiếm Tìm nâng cao…- Tìm bài viết mới
- Tìm theo chuyên mục
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
- Khách ơi! GPE thông tin đến bạn ấn phẩm "lập trình VBA trong Excel": - Phần cơ bản - Phần Nâng Cao - VBA trong Excel - Cải thiện và tăng tốc
- Trang chủ
- Diễn đàn
- Lập Trình với Excel
- Lập Trình với Excel
- Thread starter ThuNghi
- Ngày gửi 19/12/06
ThuNghi
Hãy cho rồi sẽ nhận!
Thành viên đã mất Tham gia 16/8/06 Bài viết 3,808 Được thích 4,449 Rất cám ơn lachinhan về trang http://www.cpearson.com/excel.htm Trong này có một vài VBA xóa dòng trống, trùng, lấy DM, và rất nhiều hàm. (free) Mã:Sao chép. Public Sub DeleteDuplicateRows() '[COLOR="Blue"] DeleteDuplicateRows 'chon cot can xoa gt trung[/COLOR] Dim R As Long, N As Long Dim V As Variant , Rng As Range On Error GoTo EndMacro Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Set Rng = Application.Intersect(ActiveSheet.UsedRange, _ ActiveSheet.Columns(ActiveCell.Column)) Application.StatusBar = "Processing Row: " & Format(Rng.Row, "#,##0") N = 0 For R = Rng.Rows.Count To 2 Step -1 If R Mod 500 = 0 Then Application.StatusBar = "Processing Row: " & Format(R, "#,##0") End If V = Rng.Cells(R, 1).Value [COLOR="blue"]' Note that COUNTIF works oddly with a Variant that is equal to vbNullString. ' Rather than pass in the variant, you need to pass in vbNullString explicitly.[/COLOR] If V = vbNullString Then If Application.WorksheetFunction.CountIf(Rng.Columns(1), vbNullString) > 1 Then Rng.Rows(R).EntireRow.Delete N = N + 1 End If Else If Application.WorksheetFunction.CountIf(Rng.Columns(1), V) > 1 Then Rng.Rows(R).EntireRow.Delete N = N + 1 End If End If Next R EndMacro: Application.StatusBar = False Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic MsgBox "Duplicate Rows Deleted: " & CStr(N) End Sub 'xac dinh vung can delete Public Sub DeleteBlankRows() Dim R As Long Dim C As Range Dim Rng As Range On Error GoTo EndMacro Application.ScreenUpdating = False Application.Calculation = xlCalculationManual If Selection.Rows.Count > 1 Then Set Rng = Selection Else Set Rng = ActiveSheet.UsedRange.Rows End If For R = Rng.Rows.Count To 1 Step -1 If Application.WorksheetFunction.CountA(Rng.Rows(R).EntireRow) = 0 Then ActiveSheet.Rows(R).EntireRow.Delete End If Next R EndMacro: Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End Sub PHP:Sao chép. Public Sub DeleteRowOnCell() On Error Resume Next Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete ActiveSheet.UsedRange End Sub- 1
- 2
Go to page
Tiếp tục Tiếp Last Sắp xếp theo thời gian sắp xếp theo bầu chọnHoàng Nhật Phương
Thành viên gắn bó
Tham gia 5/11/15 Bài viết 1,894 Được thích 1,214 Xin chào các bạn, Oanh thơ có một tập tin chứa rất nhiều dữ liệu, Nhờ các bạn giúp một đoạn code để có thể xóa được các dòng trống một cách nhất ạ.File đính kèm
- Book1.xlsx 2.6 MB · Đọc: 70
nghiaphuc
Thành viên gạo cội
Thành viên danh dự Tham gia 25/9/09 Bài viết 5,729 Được thích 8,854 Giới tính Nam Nghề nghiệp Giáo viênNguyễn Hoàng Oanh Thơ đã viết: Xin chào các bạn, Oanh thơ có một tập tin chứa rất nhiều dữ liệu, Nhờ các bạn giúp một đoạn code để có thể xóa được các dòng trống một cách nhất ạ. Nhấp chuột vào đây để mở rộng...Gợi ý một cách làm thủ công, bạn có thể tham khảo: 1. Chèn 1 cột trống (cột A chẳng hạn) và sử dụng hàm COUNTA để kiểm tra xem từng dòng có dữ liệu hay không. 2. Lọc dữ liệu theo cột A, lấy kết quả tương ứng với các dòng không có dữ liệu. 3. Xóa kết quả lọc đi. 4. Bỏ lọc và xóa cột A. Thực ra thì việc này cũng đâu đến nỗi lâu lắm đâu, muốn đỡ làm thủ công thì Record macro để lần sau còn xài. Upvote 0
Hoàng Nhật Phương
Thành viên gắn bó
Tham gia 5/11/15 Bài viết 1,894 Được thích 1,214nghiaphuc đã viết: Gợi ý một cách làm thủ công, bạn có thể tham khảo: 1. Chèn 1 cột trống (cột A chẳng hạn) và sử dụng hàm COUNTA để kiểm tra xem từng dòng có dữ liệu hay không. 2. Lọc dữ liệu theo cột A, lấy kết quả tương ứng với các dòng không có dữ liệu. 3. Xóa kết quả lọc đi. 4. Bỏ lọc và xóa cột A. Thực ra thì việc này cũng đâu đến nỗi lâu lắm đâu, muốn đỡ làm thủ công thì Record macro để lần sau còn xài. Nhấp chuột vào đây để mở rộng...Xin chào nghiaphuc, Cảm ơn anh đã góp ý, đúng là vấn đề này thường xuyên phải thao tác nên Oanh Thơ mới gửi nên Box này. Oanh Thơ đã thử Record macro làm theo cách của anh , có phải là các thao tác: 1. Bấm Record macro 2. Nhập công thức: B2 =COUNTA(C2:O2) 3.Copy B2 vào B2:B192435 4. Di chuyển đến B1 chọn Data/Filter chọn số 0 5. Bôi đen toàn bộ vùng số 0 vừa lọc được chọn những dòng không ẩn 6. Xóa dòng .... nhưng code đã chạy được khoảng 10 phút, file treo mà vẫn chưa ra kết quả ạ ( Nhờ anh và các bạn xem giúp. Upvote 0
LamNA
Thành viên tích cực
Tham gia 3/6/14 Bài viết 897 Được thích 720 Giới tính Nam Nghề nghiệp Quản Lý Cửa HàngNguyễn Hoàng Oanh Thơ đã viết: Xin chào nghiaphuc, Cảm ơn anh đã góp ý, đúng là vấn đề này thường xuyên phải thao tác nên Oanh Thơ mới gửi nên Box này. Oanh Thơ đã thử Record macro làm theo cách của anh , có phải là các thao tác: 1. Bấm Record macro 2. Nhập công thức: B2 =COUNTA(C2:O2) 3.Copy B2 vào B2:B192435 4. Di chuyển đến B1 chọn Data/Filter chọn số 0 5. Bôi đen toàn bộ vùng số 0 vừa lọc được chọn những dòng không ẩn 6. Xóa dòng .... nhưng code đã chạy được khoảng 10 phút, file treo mà vẫn chưa ra kết quả ạ ( Nhờ anh và các bạn xem giúp. Nhấp chuột vào đây để mở rộng...Kết quả Xóa kiểu như vậy hả chị? Miễn dòng nào có dữ liệu sẽ bỏ qua . Upvote 0
Hoàng Nhật Phương
Thành viên gắn bó
Tham gia 5/11/15 Bài viết 1,894 Được thích 1,214LamNA đã viết: Kết quả Xóa kiểu như vậy hả chị? Miễn dòng nào có dữ liệu sẽ bỏ qua . View attachment 201702 Nhấp chuột vào đây để mở rộng...Cảm ơn bạn, đúng là như vậy ạ. Bạn có đoạn code nào xử lý nhanh đc vấn đề này thì giúp Oanh Thơ nhé. Cảm ơn bạn Upvote 0
vanthinh3101
Thành viên tích cực
Tham gia 24/1/15 Bài viết 1,117 Được thích 1,449 Giới tính Nam Nghề nghiệp Finance Trường hợp này chắc là cứ dùng F5/Special/Blank --> Delete/Delete Entire Row Code thì Record Macro là có ngay. Upvote 0befaint
|||||||||||||
Tham gia 6/1/11 Bài viết 14,529 Được thích 19,713vanthinh3101 đã viết: Trường hợp này chắc là cứ dùng F5/Special/Blank --> Delete/Delete Entire Row Code thì Record Macro là có ngay. Nhấp chuột vào đây để mở rộng...Nhưng phải xác định được cột nào trong đó chắc chắc rằng, khi ô thuộc cột đó không có dữ liệu thì cả dòng đó không có dữ liệu. Thứ nữa, 192 ngàn dòng đó, Special/Blank cũng hụt hơi, chưa kể xóa được nó. Upvote 0
LamNA
Thành viên tích cực
Tham gia 3/6/14 Bài viết 897 Được thích 720 Giới tính Nam Nghề nghiệp Quản Lý Cửa HàngNguyễn Hoàng Oanh Thơ đã viết: Cảm ơn bạn, đúng là như vậy ạ. Bạn có đoạn code nào xử lý nhanh đc vấn đề này thì giúp Oanh Thơ nhé. Cảm ơn bạn Nhấp chuột vào đây để mở rộng...Em cũng thử nhưng đợi cũng 10p hơn vì gần 200000 dòng, nếu còn giải pháp nhanh hơn chắc phải nhờ anh chị có kinh nghiệm về vụ nay nhe chị
File đính kèm
- Book1.xlsb 537.2 KB · Đọc: 27
vanthinh3101
Thành viên tích cực
Tham gia 24/1/15 Bài viết 1,117 Được thích 1,449 Giới tính Nam Nghề nghiệp Financebefaint đã viết: Nhưng phải xác định được cột nào trong đó chắc chắc rằng, khi ô thuộc cột đó không có dữ liệu thì cả dòng đó không có dữ liệu. Thứ nữa, 192 ngàn dòng đó, Special/Blank cũng hụt hơi, chưa kể xóa được nó. Nhấp chuột vào đây để mở rộng...Theo ý anh nói, em nghĩ ra 1 bài toán anh ạ. Giả sử dữ liệu như bài đã nêu, bỏ qua trường hợp dùng mắt nhìn, có cách nào để xác định được vị trí có dữ liệu cuối cùng nằm ở cột nào không anh? Như bài đã đưa thì là ở cột F. Upvote 0
nghiaphuc
Thành viên gạo cội
Thành viên danh dự Tham gia 25/9/09 Bài viết 5,729 Được thích 8,854 Giới tính Nam Nghề nghiệp Giáo viênvanthinh3101 đã viết: Theo ý anh nói, em nghĩ ra 1 bài toán anh ạ. Giả sử dữ liệu như bài đã nêu, bỏ qua trường hợp dùng mắt nhìn, có cách nào để xác định được vị trí có dữ liệu cuối cùng nằm ở cột nào không anh? Như bài đã đưa thì là ở cột F. Nhấp chuột vào đây để mở rộng...Bạn dùng Cells.SpecialCells(xlCellTypeLastCell).Column là biết ngay. Upvote 0
vanthinh3101
Thành viên tích cực
Tham gia 24/1/15 Bài viết 1,117 Được thích 1,449 Giới tính Nam Nghề nghiệp Financenghiaphuc đã viết: Bạn dùng Cells.SpecialCells(xlCellTypeLastCell).Column là biết ngay. Nhấp chuột vào đây để mở rộng...Em thử thì ra 15 bác ạ. Nhưng theo dữ liệu ở bài này thì là cột F, phải là 6 bác ạ. Có cách nào khác không ạ? Upvote 0
nghiaphuc
Thành viên gạo cội
Thành viên danh dự Tham gia 25/9/09 Bài viết 5,729 Được thích 8,854 Giới tính Nam Nghề nghiệp Giáo viênvanthinh3101 đã viết: Em thử thì ra 15 bác ạ. Nhưng theo dữ liệu ở bài này thì là cột F, phải là 6 bác ạ. Có cách nào khác không ạ? Nhấp chuột vào đây để mở rộng...Ít ra tại dòng 13, cột G có dữ liệu thì làm sao cột cuối cùng là cột F được? Upvote 0
vanthinh3101
Thành viên tích cực
Tham gia 24/1/15 Bài viết 1,117 Được thích 1,449 Giới tính Nam Nghề nghiệp Financenghiaphuc đã viết: Ít ra tại dòng 13, cột G có dữ liệu thì làm sao cột cuối cùng là cột F được? Nhấp chuột vào đây để mở rộng...Không, ý em là thế này. Dữ liệu tại bài này có ở 1 loạt các cột từ C đến M. Số dòng có dữ liệu ở các cột này khác nhau, ví dụ: C có dữ liệu cuối cùng ở C20, D có dữ liệu cuối cùng ở D25,... M có dữ liệu cuối cùng ở M30 Em muốn tìm dòng có dữ liệu cuối cùng là ở cột nào? Upvote 0
nghiaphuc
Thành viên gạo cội
Thành viên danh dự Tham gia 25/9/09 Bài viết 5,729 Được thích 8,854 Giới tính Nam Nghề nghiệp Giáo viênvanthinh3101 đã viết: Không, ý em là thế này. Dữ liệu tại bài này có ở 1 loạt các cột từ C đến M. Số dòng có dữ liệu ở các cột này khác nhau, ví dụ: C có dữ liệu cuối cùng ở C20, D có dữ liệu cuối cùng ở D25,... M có dữ liệu cuối cùng ở M30 Em muốn tìm dòng có dữ liệu cuối cùng là ở cột nào? Nhấp chuột vào đây để mở rộng...Bạn kiểm tra xem Cells.SpecialCells(xlCellTypeLastCell) có dữ liệu hay không, nếu có thì cột chứa nó là cột cần tìm, ngược lại thì cột chứa Cells.SpecialCells(xlCellTypeLastCell).End(xlToLeft) là cột cần tìm. Upvote 0
be_09
Biên Hòa, Đồng Nai
Tham gia 9/4/11 Bài viết 9,972 Được thích 9,870 Nghề nghiệp Công chứcNguyễn Hoàng Oanh Thơ đã viết: Cảm ơn bạn, đúng là như vậy ạ. Bạn có đoạn code nào xử lý nhanh đc vấn đề này thì giúp Oanh Thơ nhé. Cảm ơn bạn Nhấp chuột vào đây để mở rộng...Thử code này, tôi chạy 200.000 mất 7 phút. Mã:Sao chép. Sub Xoa_DongRong() Sheet1.Range("F2", Range("F200000").End(xlUp)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub Upvote 0
LamNA
Thành viên tích cực
Tham gia 3/6/14 Bài viết 897 Được thích 720 Giới tính Nam Nghề nghiệp Quản Lý Cửa Hàngnghiaphuc đã viết: Bạn dùng Cells.SpecialCells(xlCellTypeLastCell).Column là biết ngay. Nhấp chuột vào đây để mở rộng...Anh viết giúp em cái sub kiểu tra như trên nhe. Em thử toàn báo lỗi Upvote 0
nghiaphuc
Thành viên gạo cội
Thành viên danh dự Tham gia 25/9/09 Bài viết 5,729 Được thích 8,854 Giới tính Nam Nghề nghiệp Giáo viênbe09 đã viết: Thử code này, tôi chạy 200.000 mất 7 phút. Mã:Sao chép. Sub Xoa_DongRong() Sheet1.Range("F2", Range("F200000").End(xlUp)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub Nhấp chuột vào đây để mở rộng...Nếu cột F trống mà cột khác có dữ liệu thì code này xóa mất tiêu dữ liệu rồi còn đâu anh. Upvote 0
vanthinh3101
Thành viên tích cực
Tham gia 24/1/15 Bài viết 1,117 Được thích 1,449 Giới tính Nam Nghề nghiệp Financenghiaphuc đã viết: Bạn kiểm tra xem Cells.SpecialCells(xlCellTypeLastCell) có dữ liệu hay không, nếu có thì cột chứa nó là cột cần tìm, ngược lại thì cột chứa Cells.SpecialCells(xlCellTypeLastCell).End(xlToLeft) là cột cần tìm. Nhấp chuột vào đây để mở rộng...Em cám ơn bác. Em đã học hỏi được thêm 1 kiến thức mới. Upvote 0
be_09
Biên Hòa, Đồng Nai
Tham gia 9/4/11 Bài viết 9,972 Được thích 9,870 Nghề nghiệp Công chứcnghiaphuc đã viết: Nếu cột F trống mà cột khác có dữ liệu thì code này xóa mất tiêu dữ liệu rồi còn đâu anh. Nhấp chuột vào đây để mở rộng...Anh xem, thấy cột F chứa dữ liệu nhiều nhất nên thử với cột đó. Người sử dụng có thể xác định cột nào là cột chính thì họ phải tự sửa, còn không biết chính xác cột nào thì làm cách khác. Tuy nhiên, dò nhiều cột thì tốc độ sẽ chậm, thậm chí máy yếu với 200.000 dòng như File bài 2 sử dụng Go to..........Blanks cho riêng cột F thì sẽ đơ máy (chưa kể xóa dòng). Lần chỉnh sửa cuối: 13/8/18 Upvote 0
- 1
- 2
Go to page
Tiếp tục Tiếp Last Bạn phải đăng nhập hoặc đăng ký để trả lời bài viết tại đây.Bài viết mới nhất
H nhờ mọi người giúp- Huy Đặng
- Hôm nay lúc 15:20
- Hỏi đáp những vấn đề khác
- yeunghelayeutien
- Hôm nay lúc 15:50
- Hàm và công thức Excel
- tusedo
- Hôm nay lúc 15:26
- Hàm và công thức Excel
- Question
- ongke0711
- 6/10/24
- Lập Trình với Excel
- Question
- test1986
- Hôm nay lúc 11:09
- Lập Trình với Excel
- Nguyễn Hậu LK
- Thứ tư lúc 16:18
- Hỏi đáp những vấn đề khác
- noisy
- Thứ bảy lúc 09:19
- Giải thích, gỡ rối, xử lý lỗi công thức
- Question
- binhtv69
- 22/11/24
- Lập Trình với Excel
- Question
- DMQ
- Thứ tư lúc 21:16
- Lập Trình với Excel
- nghiemcongdien
- 9/11/24
- Google Spreadsheets
- heocondethuong1235
- Hôm qua, lúc 13:45
- Những vấn đề chung
- tueyennhi
- 4/11/24
- VBA trong Excel – Cải thiện và tăng tốc
- Ks.longvandinh1988
- Hôm qua, lúc 14:17
- Excel và Kế Toán
- 0377853935
- Hôm nay lúc 10:50
- Hướng dẫn sử dụng các hàm trong Excel
- hoamattroicoi
- 12/3/22
- Excel và Kế Toán
- todesgott
- 29/3/10
- Định dạng, trình bày, in ấn bảng tính
- jusend
- Thứ tư lúc 16:43
- Giải thích, gỡ rối, xử lý lỗi công thức
- Lan Ny
- Hôm qua, lúc 11:55
- Hàm và công thức Excel
- linhxinhthat
- Thứ tư lúc 15:52
- Hàm và công thức Excel
- Nguyễn Duy Tuân
- Hôm qua, lúc 09:21
- BLUESOFTS: A-Excel, A-Tools
Thành viên có số lượng bài viết cao nhất tháng
- Hoàng Tuấn 868 152
- ptm0412 81
- VetMini 47
- ongke0711 44
- HUONGHCKT 42
- hoangtuaotrang_hp_vn 35
- SA_DQ 34
- befaint 33
- Tuấn Bụng Bự 31
- bebo021999 31
- BuiQuangThuan 28
- HeSanbi 25
- huuthang_bd 25
- HieuCD 18
- DeTong 17
- huhumalu 17
- CHAOQUAY 16
- Nguyễn Diêu Hiền 15
- hvnhpro 15
- Duy Tùng 9x 14
Thành viên có điểm tương tác cao nhất tháng
- Hoàng Tuấn 868 131
- ptm0412 79
- HUONGHCKT 77
- VetMini 66
- HeSanbi 63
- ongke0711 60
- HieuCD 44
- SA_DQ 44
- BuiQuangThuan 42
- befaint 41
- huuthang_bd 39
- GPE-Trợ Lý 35
- bebo021999 32
- hoangtuaotrang_hp_vn 32
- Phuocam 19
- DeTong 19
- huhumalu 15
- Duy Tùng 9x 14
- PhanTuHuong 13
- phuongnam366377 12
- Trang chủ
- Diễn đàn
- Lập Trình với Excel
- Lập Trình với Excel
- Website này sử dụng cookies. Tiếp tục sử dụng trang này, đồng nghĩa với việc bạn chấp nhận website sử dụng cookies. Chấp nhận Tìm hiểu thêm.…
Từ khóa » Xoa Dong Trong Vba
-
Cách Xóa Các Hàng Trống Trong Excel Với Macro
-
Xoá Dòng Có điều Kiện Bằng Vba
-
Excel VBA: Xóa Dòng/xóa Dòng Trống - LeQuocThai.Com
-
Xóa Dòng Trống Trắng Trong Excel Bằng VBA Marco 2007 2010 2013
-
VBA Xóa Dòng Trống Trong Excel - Dương Thiên
-
Sử Dụng VBA Macro Trong Excel để Xóa Hàng Hoặc Loại Bỏ Mọi Hàng ...
-
Hướng Dẫn Xóa Dòng Trống Bằng VBA - Macro - YouTube
-
10 Xoá Dòng Theo điều Kiện Bằng VBA - YouTube
-
Hướng Dẫn Xóa Dòng Trống Bằng VBA - Macro 2022 Mới Nhất
-
Những Cách Xóa Dòng Trống Trong Excel Cực đơn Giản - ThuthuatOffice
-
Hướng Dẫn 2 Cách Xóa Dòng Có điều Kiện Trong Excel
-
Xóa, Chèn Dòng Tự động Giữa Hai Sheet