Xoá dòng, cột trống trong bảng tính excel

  • Thread starter hoatuyettrang
  • Ngày gửi
H

hoatuyettrang

Sơ cấp
8/1/08
24
0
1
dich vong
Mã:
[COLOR=#ff0000][FONT=Arial][I]Mượn bài viết của bạn hỏi về vấn đề này[/I][/FONT][/COLOR]

Hôm nay tôi sẽ hướng dẫn với các bạn một số bước cơ bản để xóa ô trống (blank) trong Excel 2007 đến 2010.


Bước 1, các bạn mở bảng tính và nhấn Ctrl + A để chọn toàn bộ, hoặc chọn phần dữ liệu nhất định cần áp dụng:
1.jpg

Tiếp theo bạn nhấn F5, một hộp thoại ra hiện ra:
2.jpg

Bạn nhấn vào nút Special và xuất hiện hôp thoại sau, bạn chọn Blank rồi nhấn OK:
3.jpg

Sau đó, Excel sẽ lựa chọn tất cả các ô dữ liệu trống trong bảng tính, và để xóa bỏ thì các bạn nhấn [Ctrl] [-], hộp thoại Delete sẽ hiển thị, chọn tiếp Entire Row hoặc Entire Column để thay đổi các ô xung quanh và xóa bỏ ô dữ liệu trống:
4.jpg

Chúc mọi người thành công.




Các bác cho em hỏi với
Em muốn xoá mốt số dòng, cột trống(không có sô liệu) trên một bảng tính thì làm thế nào ạ; Xoá thủ công từng dòng một trong bảng tính thì lâu quá à!
 
Khóa học Quản trị dòng tiền
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
568
99
28
66
HCM city
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.
 
nguyenhuyen

nguyenhuyen

Guest
21/9/07
260
0
0
TP Bắc Ninh
cho em hoi mot van de.
ho ten la cot doc, ma cong doan la cac hang ngang, duoi ma cong doan la don gia (cung la hang ngang),ben duoi la cot so luong vay em muon tinh tong thanh tien em phai lam cong thuc nhu the nao mong cac anh chi dum.

bác này k chịu đọc nội quy diễn đàn jcả.:wall:
 
A

atmt17

Trung cấp
26/9/08
70
1
6
Đồng Nai
Ví dụ xoá dòng nha:
-Quét 1 cột dử liệu, bấm Ctrl + G\Special\Bank rồi OK
-Click phải trên vùng vừa được chọn, chọn Delete\Entire row
Xoá cột tương tự
Nếu dùng macro để xoá thì cũng sẽ theo cách này, khỏi Filter
 
N

NamLamSon

Gà vùng cao
19/4/08
150
0
16
Thanh Hoá
www.webketoan.com
Ví dụ xoá dòng nha:
-Quét 1 cột dử liệu, bấm Ctrl + G\Special\Bank rồi OK
-Click phải trên vùng vừa được chọn, chọn Delete\Entire row
Xoá cột tương tự
Nếu dùng macro để xoá thì cũng sẽ theo cách này, khỏi Filter

Híc nghe lời bác này là chít đó.
Vì sao ???? Cách làm của bác đó sẽ xoá đi tất tần tật những cell không có dữ liệu, chứ không phải là xoá đi những dòng không có dữ liệu àh.
Nếu làm theo cách này không cẩn thận thì dữ liệu của các bạn sẽ bị trộn tùm lum àh.

Cách này lại đơn giản và hiệu quả nếu làm thủ công
Bạn thử dùng Filter, lọc dòng Blanks, Delete...
 
A

atmt17

Trung cấp
26/9/08
70
1
6
Đồng Nai
Híc nghe lời bác này là chít đó.
Vì sao ???? Cách làm của bác đó sẽ xoá đi tất tần tật những cell không có dữ liệu, chứ không phải là xoá đi những dòng không có dữ liệu àh.
Nếu làm theo cách này không cẩn thận thì dữ liệu của các bạn sẽ bị trộn tùm lum àh.
Đồng ý điều này, nên tôi mới nói là chọn 1 cột. Chọn cột nào là việc của bạn chứ!
Cách làm đơn giản đương nhiên có khiếm khuyết
 
V

VanHao

Trung cấp
18/12/05
70
4
6
Go Vap
Các bác cho em hỏi với
Em muốn xoá mốt số dòng, cột trống(không có sô liệu) trên một bảng tính thì làm thế nào ạ; Xoá thủ công từng dòng một trong bảng tính thì lâu quá à!

Nếu chỉ xóa dòng trống thì dùng macro này thử xem :

Sub xoadong()
Range("A" & [A60000].End(xlUp).Row + 1) = 1
Cells(1, 1).Select
Set c = ActiveCell
Do While Not c.Offset(0, 0).Value = 1
If c.Offset(0, 0).Value = "" Then
Range(c.Offset(0, 0), c.Offset(0, 0)).Select
Selection.EntireRow.Delete
Set c = ActiveCell
Else
Set c = c.Offset(1, 0)
End If
Loop
End Sub

Gán cho macro một phím tắt và muốn xóa thì cứ việc nhấn phím.
 
QDuc

QDuc

Cao cấp
3/6/06
254
18
18
Biển khơi
Nếu chỉ xóa dòng trống thì dùng macro này thử xem : Gán cho macro một phím tắt và muốn xóa thì cứ việc nhấn phím.
Xin lỗi trước, nhưng cách của VanHao tuy có vẻ Hàm lâm, nhưng sẽ chậm hơn cách duyệt các records từ dưới lên đầu;
Tất nhiên ta có thể không xóa ngay từng record; mà dùng phương thức UNION() để gom chúng lại & xóa một lúc.
Thân ái & vui vẽ!:wall:
 
A

atmt17

Trung cấp
26/9/08
70
1
6
Đồng Nai
Nếu dùng VBA mà duyệt các cell từ trên xuống dưới thì có mà chậm rì rì! Dựa trên cơ sở AutoFilter\Blank chứ. Chỉ duyệt qua 1 dòng tiêu đề duy nhất
Ví dụ dử liệu của ta từ cột A đến cột H, dưới 1000 dòng, trong đó dòng 1 là dòng tiêu đề, vậy ta dùng code này sẽ nhanh hơn:
Sub XoaDongrong()
Dim Rng As Range
Set Rng = [A1:H1000]
Rng.AutoFilter
For i = 1 To Rng.Columns.Count
Rng.AutoFilter Field:=i, Criteria1:="="
Next
Rng.Offset(1).SpecialCells(12).EntireRow.Delete
ActiveSheet.AutoFilterMode = False
End Sub
Hoặc
Sub XoaDongrong()
Dim Rng As Range
Set Rng = [A1:H1000]
Rng.AutoFilter
For i = 1 To Rng.Columns.Count
Rng.AutoFilter Field:=i, Criteria1:="="
Next
Rng.SpecialCells(4).SpecialCells(12).EntireRow.Delete
ActiveSheet.AutoFilterMode = False
End Sub
 
Sửa lần cuối:
HongViet

HongViet

Cao cấp
10/11/05
286
10
18
Đà nẵng
Dùng hàm COUNT() để kiểm nó đúng là dòng trống, thì xóa!

Híc nghe lời bác này là chít đó.
Vì sao ???? Cách làm của bác đó sẽ xoá đi tất tần tật những cell không có dữ liệu, chứ không phải là xoá đi những dòng không có dữ liệu àh.
Nếu làm theo cách này không cẩn thận thì dữ liệu của các bạn sẽ bị trộn tùm lum àh.


Option Explicit
Sub DelBlankRows()
Dim Rng As Range, Clls As Range, dRng As Range

Set Rng = _
Sheet1.Columns("C:C").SpecialCells(xlCellTypeBlanks)
For Each Clls In Rng
If WorksheetFunction.Count(Clls.EntireRow) = 0 Then
If dRng Is Nothing Then
Set dRng = Clls.EntireRow
Else
Set dRng = Union(dRng, Clls.EntireRow)
End If
End If
Next Clls
dRng.Delete
End Sub
 
A

atmt17

Trung cấp
26/9/08
70
1
6
Đồng Nai
Xét về mặt tốc độ thì vòng lập quét theo dòng vẩn chậm hơn rất nhiều so với quét theo cột.
Nếu dử liệu đầy đủ 256 cột, 65536 dòng thì vòng lập quét theo dòng sẽ chậm hơn 256 lần so với quét theo cột, đúng không?
 
DuongLanVi

DuongLanVi

Cao cấp
16/6/13
274
67
28
30
Ho Chi Minh City, Vietnam, Vietnam
Ðề: Xoá dòng, cột trống trong bảng tính excel

Gom lại hết các dòng thỏa điều kiện (ở đây là: cột 'G:G' chứa ô trống) & xóa 1 lần

Mã:
Sub XoaDong_OTrong()
 Dim BlankRng As Range, Rng As Range, DelRng As Range
 Set BlankRng = ActiveSheet.UsedRange.Columns("G:G").SpecialCells(xlCellTypeBlanks)
 For Each Rng In BlankRng
    If DelRng Is Nothing Then
        Set DelRng = Rng
    Else
        Set DelRng = Union(DelRng, Rng)
    End If
 Next Rng
 DelRng.EntireRow.Delete
 
End Sub
 
E

europlast

Guest
5/5/14
4
0
0
37
Hà Nội
Ðề: Xoá dòng, cột trống trong bảng tính excel

Ngoài cách dùng VBA còn cách nào không các bạn ?
 
QDuc

QDuc

Cao cấp
3/6/06
254
18
18
Biển khơi
Ðề: Xoá dòng, cột trống trong bảng tính excel

Làm thủ công đi bạn; Đường nào cũng đến La mã!
 
P

phuoc hieu

Guest
21/1/16
2
0
1
39
Giúp thêm cái này với Dùng Marco nha
Danh sach có 10 người, chuyển từ Sheet 1 qua sheet 2
khi ta nhập status cho no la OFF thi ben sheet 2 sẽ xóa người đó khỏi danh sach sheet 2, những sheet 1 vẫn còn nhé
GIúp minh nha, có thể hồi am qua mail lamphuochieu85@gmail.com
Cám ơn rất nhiều
 

Xem nhiều

Webketoan Zalo OA