Xóa các dòng blanks trong một sheet

Liên hệ QC

Jumper_rainbow

Thành viên mới
Tham gia
30/5/08
Bài viết
12
Được thích
0
Em thường làm việc với file excel trong đó có các dòng có dữ liệu (nonblank) và có các dòng trống (blank) nằm xen kẽ nhau (đôi khi không theo thứ tự). Em muốn xóa các dòng blank đi, nhưng nếu bôi đen manually rồi delete rows thì lâu quá.
Trước đây em đã thử dùng cách đánh số thứ tự bằng hàm IF để sao cho các dòng blank có ký hiệu là 0, các dòng nonblank có ký hiệu là 1, sau đó em dùng autofilter để lọc rồi xóa đi. Nhưng em thấy cách đó vẫn chưa khoa học.
Các bác chỉ dùm cách giải quyết với.
 
Em thường làm việc với file excel trong đó có các dòng có dữ liệu (nonblank) và có các dòng trống (blank) nằm xen kẽ nhau (đôi khi không theo thứ tự). Em muốn xóa các dòng blank đi, nhưng nếu bôi đen manually rồi delete rows thì lâu quá.
Trước đây em đã thử dùng cách đánh số thứ tự bằng hàm IF để sao cho các dòng blank có ký hiệu là 0, các dòng nonblank có ký hiệu là 1, sau đó em dùng autofilter để lọc rồi xóa đi. Nhưng em thấy cách đó vẫn chưa khoa học.
Các bác chỉ dùm cách giải quyết với.

Trước tiên bạn chọn 1 cột làm chuẩn (có chứa những ô Blank và Non Blank) sau đó đánh dấu khối toàn bộ cột đó, ấn Ctrl+G (goto) --> Chọn Special --> Chọn Blanks. Sau đó ấn Ctrl+"-" -->Chọn Entire Row -->Ấn OK. Xong.
 
@jumper rainbow

Không biết có nhanh hơn không nha. Nếu cái bảng dữ liệu không quá phức tạp thì vẫn là Auto Filter, nhấn chọn drop-down của một FieldName bất kỳ và chọn Blanks, và xóa đi.
 
@jumper rainbow

Không biết có nhanh hơn không nha. Nếu cái bảng dữ liệu không quá phức tạp thì vẫn là Auto Filter, nhấn chọn drop-down của một FieldName bất kỳ và chọn Blanks, và xóa đi.

Cách của bạn nhanh đấy. Nhưng không đủ.
Bởi vì khi chọn Blanks từ FieldName của một cột, Excel chỉ lọc ra những ô Blank của cột đó mà thôi, trong khi ý của Jumper Rainbow là chọn nguyên một hàng blank, nghĩa là tất cả các ô trong hàng đó đều phải trống hết.

Làm theo cách của Ca-Dafi tuy thao tác có hơi nhiều một tí, nhưng chính xác.
 
mình dùng theo thao tác ca_dafi chỉ nhưng ấn ctrs+ "-" không hiện lên bảng gì bạn ah.
 
Mình làm theo như vậy nhưng nó vẫn xóa cả những dòng có dữ liệu bạn ạ!
 
Trước tiên bạn chọn 1 cột làm chuẩn (có chứa những ô Blank và Non Blank) sau đó đánh dấu khối toàn bộ cột đó, ấn Ctrl+G (goto) --> Chọn Special --> Chọn Blanks. Sau đó ấn Ctrl+"-" -->Chọn Entire Row -->Ấn OK. Xong.

BNTT đã viết:
Làm theo cách của Ca-Dafi tuy thao tác có hơi nhiều một tí, nhưng chính xác.
Làm theo cách này vẫn có cái gì đó không ổn
  1. Lúc đầu dữ liệu ở sheet 1 và sheet 2 là giống nhau
  2. Làm theo cách này thì ra kết quả như sheet 1 (trong file đính kèm)
 

File đính kèm

Làm theo cách này vẫn có cái gì đó không ổn
  1. Lúc đầu dữ liệu ở sheet 1 và sheet 2 là giống nhau
  2. Làm theo cách này thì ra kết quả như sheet 1 (trong file đính kèm)

Bác boyxin ơi, thế bác muốn lấy cột nào làm chuẩn để xóa dòng blank đây?

Còn nếu chỉ muốn xóa ô trống thôi, không quan tâm dữ liệu các cột trên một hàng có liên quan thì làm như sau:
thay vì:
Trước tiên bạn chọn 1 cột làm chuẩn (có chứa những ô Blank và Non Blank) sau đó đánh dấu khối toàn bộ cột đó, ấn Ctrl+G (goto) --> Chọn Special --> Chọn Blanks. Sau đó ấn Ctrl+"-" -->Chọn Entire Row -->Ấn OK. Xong.
thì làm như sau:
Trước tiên bạn chọn vùng có chứa những ô Blank và Non Blank, ấn Ctrl+G (goto) --> Chọn Special --> Chọn Blanks. Sau đó ấn Ctrl+"-" -->Chọn Shift cells up-->Ấn OK. Xong.
 
Bác boyxin ơi, thế bác muốn lấy cột nào làm chuẩn để xóa dòng blank đây?
thì làm như sau:

Thế này nha: trong vùng A1:c18
muốn xóa những dòng không có tý dữ liệu nào (dòng blank) , những dòng có dữ liệu thì để nguyên dù nó có thiếu ở một số cột

Vậy thôi
 
Thế này nha: trong vùng A1:c18
muốn xóa những dòng không có tý dữ liệu nào (dòng blank) , những dòng có dữ liệu thì để nguyên dù nó có thiếu ở một số cột

Vậy thôi

Ồ vấn đề lại khác rồi đây. Vậy thì phải xài thêm 1 cột phụ thôi, nối chuỗi từ các cột a,b,c sau đó xử cái nào blank bên cột phụ.
 
Bác ca_dafi ví dụ cụ thể luôn được không bác? Em chỉ muốn xóa những dòng không có tý dữ liệu nào, còn những dòng có dữ liệu để nguyên dù thiếu 1 số cột(ý như của pác boyxin ý).
 
CÁC BÁC DÙNG CODE NÀY CỦA BÁC HƯỚNG NHE!
Sub DEEMRO()
Dim i As Integer,Dim FIRO As Integer, LARO As Integer, USRO As Integer
Application.ScreenUpdating = False
FIRO = ActiveSheet.UsedRange.Row
USRO = ActiveSheet.UsedRange.Rows.Count
LARO = FIRO - 1 + USRO
For i = LARO To 1 Step -1
If Application.CountA(Rows(i)) = 0 Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub

NÓ SẺ XÓA NHỮNG DÒNG THỰC SỰ TRỐNG
 
Lần chỉnh sửa cuối:
Để xóa dòng trống trong 1 vùng chọn ta thực hiện các bước sau:
- Dùng vòng lặp lặp từ dòng cuối đến dòng đầu.
- Dùng hàm CountA đếm các ô trống, nếu bằng 0 thì xóa dòng.
Từ cách làm đó, viết macro:
Mã:
Sub RowsBlank()
[COLOR=blue]'Xác định dòng dầu, dòng cuối, cột đầu, cột cuối của vùng chọn[/COLOR]
rd = Selection.Row
rc = Selection.Rows.Count + rd - 1
cd = Selection.Column
cc = Selection.Columns.Count + cd - 1
[COLOR=#0000ff]'Chạy vòng lặp từ dòng cuối đến dòng đầu[/COLOR]
For r = rc To rd - 1 Step -1
[COLOR=blue]  'Đếm ô trống trong dòng r của vùng chọn[/COLOR] 
  rblank = Application.WorksheetFunction.CountA(Range(Cells(r, cd), Cells(r, cc)))
[COLOR=#0000ff]  'Nếu đếm=0 thì xóa dòng r[/COLOR] 
  If rblank = 0 Then
    Rows(rblank).Delete
  End If
Next
End Sub
 
đánh khối tất cả các cột , data > sort , các dòng trống sẽ dồn hết xuống dưới , đánh lại số thư tự
 
Ai chà... sao ta không AutoFilter hết tất cả các cột, tùy chọn là Blank, và xóa hết
Dùng VBA cũng sẽ theo cách này ---> Quét theo cột, nhanh hơn quét theo dòng
 
ở sheet 2 có dữ liệu ở cột B & C nhưng thao tác xong thành sheet 1 thì dữ liệu 2 cột này biến mất rồi
 
Bác boyxin ơi, thế bác muốn lấy cột nào làm chuẩn để xóa dòng blank đây?

Còn nếu chỉ muốn xóa ô trống thôi, không quan tâm dữ liệu các cột trên một hàng có liên quan thì làm như sau:
thay vì:

thì làm như sau:
Xin cho e hỏi, e dùng excel 2003, dùng cách của a để loại bổ cell trống, nhưng dữ liệu dài hơn 1000 dòng thì nó báo cell not were found, chắc tại excel 20003 bị giới hạn phải k
 
cách tạo nút lọc tại 1 cột cần in dữ liệu và không hiện những dòng blank

chào các anh chị,

Mình muốn in 1 phiếu xuất kho nhưng trong đó có nhiều dòng trống, giờ mình muốn tạo nút lọc tại 1 cột thôi, khi click vào sẽ hiện lên các dòng dữ liệu và dòng blank. Mình không biết phải làm sao nữa để tạo nút lọc đó nữa (không phải dùng auto filter để hiện nút lọc hết các cột nhé). (đính kèm file)
Mong các anh chị hướng dẫn giúp. Xin cảm ơn
 

File đính kèm

Web KT

Bài viết mới nhất

Back
Top Bottom