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

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi hoatuyettrang, 19 Tháng sáu 2008.

161,977 lượt xem

  1. hoatuyettrang

    hoatuyettrang Thành viên hoạt động

    Bài viết:
    24
    Đã được thích:
    0
    Nơi ở:
    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:
    [​IMG]

    Tiếp theo bạn nhấn F5, một hộp thoại ra hiện ra:
    [​IMG]

    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:
    [​IMG]

    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:
    [​IMG]

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




     
    #1
  2. SA_DQ

    SA_DQ Thành viên thân thiết

    Bài viết:
    426
    Đã được thích:
    34
    Nơi ở:
    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.
     
    #2
  3. nguyenhuyen

    nguyenhuyen Thành viên sơ cấp

    Bài viết:
    261
    Đã được thích:
    0
    Nơi ở:
    TP Bắc Ninh
    bác này k chịu đọc nội quy diễn đàn jcả.:wall:
     
    #3
  4. atmt17

    atmt17 Thành viên hoạt động

    Bài viết:
    70
    Đã được thích:
    1
    Nơi ở:
    Đồ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
     
    #4
  5. NamLamSon

    NamLamSon Gà vùng cao

    Bài viết:
    150
    Đã được thích:
    0
    Nơi ở:
    Thanh Hoá
    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
     
    #5
  6. atmt17

    atmt17 Thành viên hoạt động

    Bài viết:
    70
    Đã được thích:
    1
    Nơi ở:
    Đồng Nai
    Đồ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
     
    #6
  7. VanHao

    VanHao Thành viên thân thiết

    Bài viết:
    70
    Đã được thích:
    1
    Nơi ở:
    Go Vap
    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.
     
    #7
  8. QDuc

    QDuc Thành viên thân thiết

    Bài viết:
    252
    Đã được thích:
    18
    Nơi ở:
    Biển khơi
    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:
     
    #8
  9. atmt17

    atmt17 Thành viên hoạt động

    Bài viết:
    70
    Đã được thích:
    1
    Nơi ở:
    Đồ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:
    Hoặc
     
    Last edited: 29 Tháng chín 2008
    #9
  10. HongViet

    HongViet Thành viên thân thiết

    Bài viết:
    286
    Đã được thích:
    10
    Nơi ở:
    Đà nẵng
    Dùng hàm COUNT() để kiểm nó đúng là dòng trống, thì xóa!


     
    #10
  11. atmt17

    atmt17 Thành viên hoạt động

    Bài viết:
    70
    Đã được thích:
    1
    Nơi ở:
    Đồ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?
     
    #11
  12. DuongLanVi

    DuongLanVi WKT Senior Staff

    Bài viết:
    262
    Đã được thích:
    54
    Nơi ở:
    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
     
    #12
  13. europlast

    europlast Thành viên sơ cấp

    Bài viết:
    4
    Đã được thích:
    0
    Nơi ở:
    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 ?
     
    #13
  14. QDuc

    QDuc Thành viên thân thiết

    Bài viết:
    252
    Đã được thích:
    18
    Nơi ở:
    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ã!
     
    #14
  15. phuoc hieu

    phuoc hieu Thành viên sơ cấp

    Bài viết:
    2
    Đã được thích:
    0
    Giới tính:
    Nam
    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
     
    #15

Chia sẻ trang này