Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để lọc danh sách và xóa các hàng ẩn hoặc hiện còn lại trong Excel?

Đối với danh sách đã lọc, bạn có thể cần xóa các hàng ẩn hoặc hiện để chỉ giữ lại dữ liệu hữu ích. Trong bài viết này, chúng tôi sẽ chỉ cho bạn các phương pháp xóa các hàng ẩn hoặc hiện còn lại của danh sách đã lọc trong Excel.

Xóa các hàng ẩn trong trang tính đang hoạt động với mã VBA
Xóa các hàng hiển thị của danh sách đã lọc bằng cách chọn tất cả các ô hiển thị
Dễ dàng xóa các hàng ẩn hoặc hiện của danh sách đã lọc với Kutools cho Excel


Xóa các hàng ẩn trong trang tính đang hoạt động với mã VBA

Phần này sẽ hiển thị cho bạn mã VBA để xóa các hàng ẩn trong trang tính đang hoạt động. Hãy làm như sau.

1. Kích hoạt trang tính bạn cần để xóa các hàng ẩn, nhấn Khác + F11 các phím đồng thời để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Trong cửa sổ Microsoft Visual Basic for Applications, bấm Chèn > Mô-đun. Và sau đó sao chép và dán mã VBA bên dưới vào cửa sổ Mô-đun.

Mã VBA: Xóa các hàng ẩn

Sub RemoveHiddenRows()
	Dim xRow As Range
	Dim xRg As Range
	Dim xRows As Range
	On Error Resume Next
	Set xRows = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
	If xRows Is Nothing Then Exit Sub
		For Each xRow In xRows.Columns(1).Cells
			If xRow.EntireRow.Hidden Then
				If xRg Is Nothing Then
					Set xRg = xRow
				Else
					Set xRg = Union(xRg, xRow)
				End If
			End If
		Next
		If Not xRg Is Nothing Then
			MsgBox xRg.Count & " hidden rows have been deleted", , "Kutools for Excel"
			xRg.EntireRow.Delete
		Else
			MsgBox "No hidden rows found", , "Kutools for Excel"
		End If
	End Sub

3. Nhấn nút F5 phím để chạy mã. Nếu có các hàng ẩn trong trang tính hiện hoạt, sau khi chạy mã, một hộp thoại sẽ bật lên để cho bạn biết có bao nhiêu hàng ẩn đã bị xóa. Nhấn vào OK để xóa các hàng ẩn. Xem ảnh chụp màn hình:

doc xóa phần còn lại 1

Nếu không, bạn sẽ nhận được hộp thoại sau sau khi chạy mã.

doc xóa phần còn lại 1

Chú thích: mã VBA trên không chỉ có thể xóa các hàng ẩn của danh sách đã lọc mà còn xóa các hàng ẩn mà bạn đã ẩn theo cách thủ công trước đó.


Xóa các hàng hiển thị của danh sách đã lọc với tính năng chọn tất cả các ô hiển thị

Để xóa các hàng hiển thị của danh sách đã lọc, vui lòng thực hiện như sau.

1. Chọn tất cả các hàng đã lọc ra và nhấn F5 chìa khóa để mở Go To hộp thoại, sau đó nhấp vào Đặc biệt cái nút. Xem ảnh chụp màn hình:

doc xóa phần còn lại 1

2. bên trong Đi đặc biệt hộp thoại, kiểm tra Chỉ các ô hiển thị rồi bấm vào OK .

doc xóa phần còn lại 1

3. Bây giờ tất cả các hàng hiển thị đã được chọn, nhấp chuột phải vào lựa chọn, sau đó nhấp vào Xóa Hàng.

doc xóa phần còn lại 1

Cho đến bây giờ, tất cả các hàng hiển thị đều bị xóa khỏi danh sách đã lọc.


Dễ dàng xóa các hàng ẩn hoặc hiện của danh sách đã lọc với Kutools cho Excel

Hai phương pháp trên có thể không phải là giải pháp mong muốn của nhiều người dùng Excel, ở đây chúng tôi xin giới thiệu với bạn một công cụ tiện dụng. Với Xóa hàng & cột ẩn (hiển thị) tiện ích của Kutools cho Excel, bạn có thể dễ dàng xóa các hàng ẩn trong phạm vi / trang tính đã chọn, trang tính hiện hoạt hoặc tất cả các trang tính trong Excel.

Trước khi áp dụng Kutools cho Excel, Xin vui lòng tải xuống và cài đặt nó trước tiên.

1. Nếu bạn chỉ muốn xóa các hàng ẩn hoặc hiện của danh sách đã lọc, vui lòng chọn phạm vi đã lọc theo cách thủ công, sau đó nhấp vào Kutools > Xóa bỏ > Xóa hàng & cột ẩn (hiển thị). Xem ảnh chụp màn hình:

2. bên trong Xóa hàng & cột ẩn (hiển thị) hộp thoại, giữ Trong phạm vi đã chọn được lựa chọn trong Nhìn vào danh sách thả xuống (bạn có thể chọn các tùy chọn khác khi cần), hãy kiểm tra Hàng tùy chọn trong Xóa loại và trong Loại chi tiết phần, kiểm tra Hàng có thể nhìn thấy or Hàng ẩn tùy chọn như bạn cần. Và cuối cùng nhấp vào OK .

3. Sau đó, một hộp thoại bật lên cho bạn biết có bao nhiêu hàng đã bị xóa, vui lòng nhấp vào OK .

  Nếu bạn muốn dùng thử miễn phí (30-day) của tiện ích này, vui lòng nhấp để tải xuống, và sau đó đi đến áp dụng hoạt động theo các bước trên.


Xóa các hàng ẩn hoặc hiển thị của danh sách đã lọc bằng Kutools cho Excel


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (7)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Phản hồi lại: macro để xóa hàng ẩn - điều này mất quá nhiều thời gian để chạy trên 900 nghìn hàng trở nên hữu ích. Hơn 2 giờ trên OC'd Threadripper 1950X và vẫn đang chạy (phải kết thúc tác vụ). Có cách nào để tối ưu hóa nó để sử dụng nhiều lõi hay đây là một hạn chế của VBA?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Mã đã được tối ưu hóa. Xin vui lòng có một thử. Cảm ơn bình luận của bạn.

Sub RemoveHiddenRows ()
Dim xFlag dưới dạng Boolean
Làm mờ xStr, xTemp dưới dạng chuỗi
Làm mờ xDiv, xMod As Long
Dim I, xCount, xRows As Long
Làm mờ xRg, xCell, xDRg As Range
Dim xArr () As String
On Error Resume Next
Application.ScreenUpdating = Sai
Application.EnableEvents = Sai
Đặt xRg = Intersect (ActiveSheet.Range ("A: A"). EntireRow, ActiveSheet.UsedRange)
Nếu xRg không có gì thì thoát Sub
xRows = xRg.Rows.Count
Đặt xRg = xRg (1)
xFlag = Đúng
xTemp = ""
xCount = 0
Đối với I = 1 Đến xRows
Đặt xCell = xRg.Offset (I - 1, 0)
Làm trong khi xFlag
Nếu xCell.EntireRow.Hidden thì
xStr = xCell.Địa chỉ
xFlag = Sai
Khác
Tới Ctn
Cuối Nếu
Vòng lặp
Nếu xCell.EntireRow.Hidden thì
xTemp = xStr & "," & xCell.Address
Cuối Nếu
If Len (xTemp)> 171 Then
xCount = xCount + 1
ReDim Bảo tồn xArr (1 Đến xCount)
xArr (xCount) = xStr
xStr = xCell.Địa chỉ
Khác
xStr = xNhiệt độ
Cuối Nếu
Ctn:
Sau
xCount = xCount + 1
ReDim Bảo tồn xArr (1 Đến xCount)
xArr (xCount) = xStr
Đối với I = xCount Tới 1 Bước -1
Nếu tôi = 1 thì
xStr = Mid (xArr (I), InStr (xArr (I), ",") + 1, Len (xArr (I)) - InStr (xArr (I), ","))
Khác
xStr = xArr (I)
Cuối Nếu
Nếu xDRg không có gì thì
Đặt xDRg = Range (xStr)
Khác
Đặt xDRg = Union (xDRg, Range (xStr))
Cuối Nếu
Nếu (Len (xDRg.Address)> = 244) Hoặc (xCount = 1) Thì
xDRg.EntireRow.Delete
Đặt xDRg = Không có gì
Cuối Nếu
Sau
Ứng dụng.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tuyệt vời, cảm ơn bạn! Sẽ xem xét cơ hội / nhu cầu tiếp theo của tôi cho điều này và trả lời lại.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã VBA để Xóa các hàng ẩn đã hoạt động hoàn hảo mà không gặp khó khăn. CẢM ƠN!!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn về thông tin. Điều này đã được hướng dẫn. Vui lòng có cách nào để lọc và xóa đối với các số cụ thể trong các hàng lên đến 1 triệu? Đoạn mã trên có thể được sửa đổi để làm như vậy không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Xin lỗi đã không kiểm tra mã trong dữ liệu hàng lớn như vậy. Có thể bạn có thể tạo một bản sao dữ liệu của mình và kiểm tra xem mã có thể hoạt động hay không.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, mã VBA này rất hữu ích.
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL