Hướng dẫn hide dòng

Liên hệ QC

thephi99

Thành viên thường trực
Tham gia
31/3/07
Bài viết
274
Được thích
811
Xin chào các Bác, em có file Excel của chương trình dự toán xây dựng - khi chuyển sang Excel có những dòng lặp lại mà mình dấu hoặc xóa đi thì làm như thế nào, xin hướng dẫn cụ thể em cảm ơn.
File này có tới 11.000 dòng nếu xóa bằng thủ công mất mất 45phút mất thời gian quá và phải thường xuyên phải làm như vậy.
Em muốn hide hay xóa dòng này nó lặp lại liên tục từ chương trinh dự toán ra:
Chi phí chung
Giaù thaønh döï toaùn xaây döïng
Thu nhaäp chòu thueá tính tröôùc
Giaù trò döï toaùn xaây döïng tröôùc thueá
Thueá giaù trò gia taêng
Chi phí xaây döïng nhaø taïm
Giaù trò döï toaùn xaây döïng sau thueá
Đính kèm file
 

File đính kèm

  • CONG TRINH NGUYEN V TROI.rar
    477.6 KB · Đọc: 62
Lần chỉnh sửa cuối:
Dùng autofilter cho hiện riêng lần lượt từng giá trị muốn xoá. Mỗi lần filter là xoá hết những dòng hiện ra, show all, hoặc filter tiếp giá trị kế.
 
Dùng autofilter cho hiện riêng lần lượt từng giá trị muốn xoá. Mỗi lần filter là xoá hết những dòng hiện ra, show all, hoặc filter tiếp giá trị kế.
Cách này có vẻ hơi thủ công và cũng tương đối lâu. Theo tôi thì nên tạo thêm 1 cột phụ, dùng hàm countif để đếm từ đầu đến vị trí hiện tại. Tiếp theo autofilter cột phụ các giá trị lớn hơn 1 rồi xóa dòng. Như vậy sẽ nhanh hơn.
 
Cách này có vẻ hơi thủ công và cũng tương đối lâu. Theo tôi thì nên tạo thêm 1 cột phụ, dùng hàm countif để đếm từ đầu đến vị trí hiện tại. Tiếp theo autofilter cột phụ các giá trị lớn hơn 1 rồi xóa dòng. Như vậy sẽ nhanh hơn.
Theo tôi biết thì những dòng này có giá trị zero bên cột thành tiền nên có thể xoá hết:
Chi phí chung
Giá thành dự toán xây dựng
Thu nhập chịu thuế tính trước
Giá trị dự toán xây dựng trước thuế
Thuế giá trị gia tăng
Chi phí xây dựng nhà tạm
Giá trị dự toán xây dựng sau thuế

Còn những dòng khác như:
Giá thành dự toán xây dựng
Giá trị dự toán xây dựng sau thuế
Nhân công
Máy thi công
v.v...


Thành tiến khác không, và cũng lặp lại, xoá hết theo CountIf là chết ngay. Chết đứ đừ.
 
Mình xin đề xuất thêm 1 cách
(Tất nhiên cách này chỉ áp dụng khi không có trường nào trong CSDL là chỉ mục)

(*) Xếp theo ba trường bất kỳ
(*) Dùng vòng lặp duyệt theo trường thứ 4;
Nếu trùng thì đánh dấu lại hay xóa đi (tùy thuộc vô dữ liệu của bạn là như thế nào mà ta sẽ chọn 4 trường đó là những trường nào)
 
Theo tôi biết thì những dòng này có giá trị zero bên cột thành tiền nên có thể xoá hết:


Còn những dòng khác như:
Giá thành dự toán xây dựng
Giá trị dự toán xây dựng sau thuế
Nhân công
Máy thi công
v.v...


Thành tiến khác không, và cũng lặp lại, xoá hết theo CountIf là chết ngay. Chết đứ đừ.
Đã có danh sách các mặt hàng cần xóa trùng, vậy sao không kết hợp thêm điều kiện cho công thức tại cột phụ. Nhập danh sách cần xóa trùng ra 1 vùng, kết hợp thêm lookup để kiểm tra, nếu đúng thì mới Countif, nếu không thì trả về 1 hoặc 1 giá trị nào đó nhỏ hơn 1 chẳng hạn. Vẫn nhanh hơn là đi lọc từng thằng 1, đặc biệt là trường hợp cái danh sách những thằng cần xóa trùng kia lớn.
 
Dùng công thức sẽ rất lâu vì số lượng dòng nhiều. Xin đề xuất giải pháp sau:
Viết macro đánh dấu những dòng có nội dung bắt đầu như yêu cầu. Sau đó lọc và dấu đi.
 
Dùng công thức sẽ rất lâu vì số lượng dòng nhiều. Xin đề xuất giải pháp sau:
Viết macro đánh dấu những dòng có nội dung bắt đầu như yêu cầu. Sau đó lọc và dấu đi.
Nếu phải dùng đến code thì đâu cần phải lọc nữa. Còn về phần tốc độ thì vì do thao tác này chỉ dùng có 1 lần, hãy so sánh tốc độ làm bằng công thức và tốc độ viết code rồi sau đó mới thực hiện+-+-+-+.
 
Cái này mà dùng Excel 2007 thì chỉ một phát là xong.
Autofilter hết 8 em đó ra, rồi.... de le te...
 
Các anh chỉ em cụ thể hơn đi, coi như em không biết về Excel đi, còn dùng Autofilter làm sao mình gán cho 7 hàng này có 1 số mình mới lọc đc chứ và xóa được, Xin các anh chỉ rõ hơn giúp em.
 
Các anh chỉ em cụ thể hơn đi, coi như em không biết về Excel đi, còn dùng Autofilter làm sao mình gán cho 7 hàng này có 1 số mình mới lọc đc chứ và xóa được, Xin các anh chỉ rõ hơn giúp em.
Mình chỉ có thể hướng dẫn AutoFilter của Excel2007 thôi:

  1. Nhấn AutoFilter cột D, bỏ chọn Select All, rồi chọn lại 7 cái có tên giống như 7 cái mà Thephi muốn bỏ đi. Hình này chụp khi tôi đang chọn 3 cái mục ... hình như Giá trị trước thuế, sau thuế gì đó (hic... hỏng có font tiếng Việt trong máy, chọn muốn đui mắt luôn):
    000-2384.jpg



  2. Kết quả của AutoFilter 7 cái mục đó:
    001-66.jpg



  3. Dùng chuột quét hết những hàng mà AutoFilter lọc ra được, rồi nhấn phải chuột, chọn Delete Row:
    002-32.jpg



  4. Xả AutoFilter (hoặc nhấn lại AutoFilter của cột D và chọn Select All), ra kết quả như sau, không biết có phải là kết quả mà Thephi muốn không...
    004-13.jpg
 
Cảm ơn anh Tường em hiểu cách làm rồi cảm ơn lần nữa. Không thầy đố mày làm nên.
 
-Theo tôi, ta dùng cột phụ (giả sử là cột K) đánh bất kỳ ký tự nào đó khác "chống" từ K6 đến K1116(giả sử đánh là S).
-Dùng Autofilter tại cột D, lọc những dòng bạn không cần rồi xóa chữ S ở cột K đi... (cứ bôi đen cả cột rồi xóa cho nhanh)
-Bôi đen cột K6 đến K1116, Bấm Ctrl+G, chọn "Special", chọn "Blank", bấm "OK". lúc này tất cả những ô chống từ K6 đến K1116 sẽ được chọn.
-Để ẩn những dòng này đi bấm Ctrl+(số 9)
-Để xoá những dòng này đi bấm Ctrl+(dấu-), chọn "entire row", bấm "OK".
Chúc thành công!
 
Web KT
Back
Top Bottom