Tôi có file dữ liệu lớn khoảng 1500 dòng, trong đó có các dòng trống xen kẻ. Muốn loại bỏ nhanh các dòng trống phải làm thế nào? Mong các anh chị hướng dẫn.
Có mấy cách;
1. Dùng Autofilter lọc các khoảng Blank -> Delete Row
2. Dùng phím tắt:
Đặt trỏ vào bất cứ ô nào trong bảng tính -> Ctrl+Spacebar -> Ctrl+G -> Alt+S -> K
Sau đó nhấn Ctrl+"-" -> R -> OK
Theo bạn dat_butmuc hướng dẫn câu thứ nhất thì tôi hiểu là chọn các ô trống, nhưng câu thứ 2 Sau đó nhấn Ctrl+"-" -> R -> OK ... thì tôi làm không được và không hiểu là lệnh gì? Ctrl + " -> tôi không thấy xuất hiện cửa sổ lệnh nào. Do trong dòng có chứa dữ liệu có 1 vài ô trống nên bị xoá nhầm dòng có dữ liệu luôn. Xin hỏi làm sao chọn được các dòng trống hoàn toàn. Xin dược hướng dẫn thêm . Cám ơn.
Bài viết của bác dat_butmuc hay quá. hihi. Nhưng em vẫn chưa hiểu Ctr + G là lệnh gì. Bác cho em hỏi phím tắt đó có chức năng gì được ko ạ ?
Nói chung bài của anh DAT_butmuc muốn bạn vào hộp thoại Goto Special để chọn chức năng tìm ô trống sau đó chọn nó, sau đó chọn chức năng xóa dòng trống đã chọnBài viết của bác dat_butmuc hay quá. hihi. Nhưng em vẫn chưa hiểu Ctr + G là lệnh gì. Bác cho em hỏi phím tắt đó có chức năng gì được ko ạ ?
Dùng công thức cũng được nếu số dòng ít.Tôi có 1 cột gồm 10 dòng trong đó có một số dòng là tên người và một số dòng là số 0. Làm cách nào có thể lấy ra tên người từ danh sách đó và xếp chúng nằm trên các dòng kề nhau và bỏ đi những số 0. Vì tôi muốn làm tự động nên không dùng các công cụ sort hay filter. Ai biết xin chỉ giúp. Cảm ơn
Cảm ơn bạn, xin gửi file đính kèm nhờ bạn giúpDùng công thức cũng được nếu số dòng ít.
Dùng VBA chạy "cái rẹt" là xong.
Hổng có file thì hổng làm được gì đâu.
Nhìn cấu trúc File của bạn thì bạn không nên dùng VBA vì bạn sẽ không biết cách tùy biến, bạn nên sử dụng công thức. Bạn tham khảo công thức sau, kết thúc bằng tổ hợp 3 phím Ctrl + Shift + EnterCảm ơn bạn, xin gửi file đính kèm nhờ bạn giúp
=IF(ROW(1:1)<=COUNTIF($B$6:$B$15,"<>0"),INDEX($B$6:$B$15,SMALL(IF($B$6:$B$15<>0,ROW(INDIRECT("1:"&ROWS($B$6:$B$15))),""),ROW(1:1))),"")
không cần công thức và VBA đươc không.đói với file như mẫu thì dùng công cụ có sẵn trong ex2007[video=youtube_share;klymH7VQK9I]http://youtu.be/klymH7VQK9I 95%[/video]Cảm ơn bạn, xin gửi file đính kèm nhờ bạn giúp
Cảm ơn bạn nhiều. Để tôi làm thửNhìn cấu trúc File của bạn thì bạn không nên dùng VBA vì bạn sẽ không biết cách tùy biến, bạn nên sử dụng công thức. Bạn tham khảo công thức sau, kết thúc bằng tổ hợp 3 phím Ctrl + Shift + EnterMã:=IF(ROW(1:1)<=COUNTIF($B$6:$B$15,"<>0"),INDEX($B$6:$B$15,SMALL(IF($B$6:$B$15<>0,ROW(INDIRECT("1:"&ROWS($B$6:$B$15))),""),ROW(1:1))),"")
Tham khảo code (Enable Marco):Do CSDL của mình lớn(còn nhiều row & column)nên không thể xóa bằng cách chọn từng row mà xóa !!
nếu dùng filter thì minh nghĩ CSDL lớn nên không ổn
Mình thấy có cách xóa row trống:
ctrl+G-->blanks rất hay
còn cách nào khác không phải xóa row trống mà xóa row có dữ liệu(do dữ liệu trộn lại nên k có một quy tắc nào hết)
Mình đã dùngcủa Advanced Filter nhưng do CSDL lớn nên rất chậm và bị đứng máy !!
Mong các bạn chỉ giúp !!!
Have A Nice Day !!!
------------$$ % $$-------------
Thanks & Best Regards
Nguyễn Hữu Toàn
Leo chọn dòng đủ điều kiện, gán vào mảng kết quả, đưa vào sheet sẽ nhanh hơn với dữ liệu lớnTham khảo code (Enable Marco):
[gpecode=vb]
Sub Button1_Click()
Dim iR As Long
With Sheets("Sheet1")
For iR = Range("A65535").End(xlUp).Row To 2 Step -1
If Cells(iR, 2) = "" Or Cells(iR, 3) <> "" Then
Cells(iR, 1).EntireRow.Delete
End If
Next
End With
End Sub
[/gpecode]
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2