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

Làm cách nào để tự động ẩn các hàng nếu các ô trống trong một cột?

Nếu bạn có một dải dữ liệu điền một số ô trống trong một cột và bây giờ, bạn muốn tự động ẩn các hàng có chứa các ô trống trong cột đó. Có cách nào tốt để giải quyết công việc này trong Excel một cách nhanh chóng và dễ dàng không?

Tự động ẩn hàng nếu ô trống trong cột có mã VBA


mũi tên màu xanh bong bóng bên phải Tự động ẩn hàng nếu ô trống trong cột có mã VBA

Đoạn mã sau có thể giúp bạn ẩn tất cả các hàng nếu các ô trống trong một cột cụ thể cùng một lúc và nếu bạn xóa nội dung ô trong cột đó, các hàng cũng sẽ tự động ẩn. Vui lòng làm như sau:

1. Bấm chuột phải vào tab trang tính mà bạn muốn tự động ẩn các hàng nếu có ô trống trong một cột, rồi chọn Mã Chế độ xem từ menu ngữ cảnh, trong cửa sổ bật ra Microsoft Visual Basic cho các ứng dụng cửa sổ, vui lòng sao chép và dán đoạn mã sau vào chỗ trống Mô-đun:

Mã VBA: Tự động ẩn hàng nếu ô trống trong cột:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("A1:A20")
            If xRg.Value = "" Then
                xRg.EntireRow.Hidden = True
        
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub

doc tự động ẩn các hàng 1

Chú thích: Trong đoạn mã trên, A1: A20 là danh sách dữ liệu chứa các ô trống bạn muốn tự động ẩn.

2. Sau đó, quay lại trang tính và bây giờ, khi bạn nhấp đúp vào bất kỳ ô nào và nhấn đăng ký hạng mục thi chìa khóa, các hàng chứa các ô trống trong cột A đã được ẩn ngay lập tức và nếu bạn xóa bất kỳ nội dung ô nào trong các ô được chỉ định của cột A, các hàng sẽ được ẩn tự động.

doc tự động ẩn các hàng 2

 


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 (32)
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
Xin chào, tôi đang sử dụng excel 2016 và nó không hoạt động. Tôi nhận được thông báo lỗi sintax. bạn có thể giúp?
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, Ant,

Đoạn mã trên hoạt động tốt trong Excel 2016 của tôi, bạn có thay đổi tham chiếu ô trong mã theo nhu cầu của mình 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
Tôi gặp lỗi Run-time ´13´:



Loại không phù hợp



Ai đó có thể giúp đỡ ???
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi có thể dừng macro này tự động chạy sau khi nhấn enter không? Tôi có thể đính kèm nó vào một nút để chỉ ẩn các ô khi tôi nhấp vào 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
có ai đã bao giờ tìm ra điều này? Tôi cũng muốn biết.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
có ai đưa ra câu trả lời chưa?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
cùng một câu hỏi ở đây
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, các bạn,
Để ẩn các hàng mà một cột cụ thể chứa các ô trống bằng cách sử dụng một nút, vui lòng thực hiện như sau:
Đầu tiên, bạn nên chèn một Nút lệnh từ tab Nhà phát triển.
Và sau đó áp dụng mã VBA sau cho Nút lệnh, (Lưu ý: vui lòng thay đổi tham chiếu ô a1: a20 thành của riêng bạn)

Private Sub CommandButton1_Click ()
Dim rng As Range, x As Range
Đặt rng = Range ("a1: a20")
Application.ScreenUpdating = Sai
Đối với mỗi x Trong rng
Nếu Len (x.Text) = 0 Thì
x.EntireRow.Hidden = True
Khác
x.EntireRow.Hidden = Sai
Cuối Nếu
Tiếp theo x
Application.ScreenUpdating = True
End Sub

Hãy thử nó, hy vọng nó có thể giúp bạ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ách Tự động ẩn hàng nếu ô trống trong 2 cột khác nhau bằng mã VBA
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, salpe,
Để tự động ẩn các hàng nếu ô trống trong 2 cột khác nhau, vui lòng áp dụng mã sau:

Private Sub Worksheet_Change (ByVal Target As Range)
Làm mờ xRg, xCell As Range
Làm mờ xRgs, xRgArea As Range
Đặt xRgs = Range ("A1: A22, D1: D22")
Application.ScreenUpdating = Sai
Về lỗi GoTo Ctn
Đối với mỗi xRgArea Trong xRgs.Areas
Debug.Print xRgArea.Address
Đối với mỗi xRg Trong xRgArea.Columns
Đối với mỗi xCell Trong xRg.Rows
Nếu xCell.Value = "" Thì
xCell.EntireRow.Hidden = True
Tới Ctn
ElseIf Not xCell.EntireRow.Hidden Then
xCell.EntireRow.Hidden = Sai
Cuối Nếu
Ctn:
Sau
Sau
Sau
Application.ScreenUpdating = True
End Sub

Bạn có thể thay đổi các tham chiếu ô theo nhu cầu của mình.
Hãy thử nó!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
بسم الله وجزاكم الله خيرا هذا الكود رائع ولكن حين قمت بتطبيق كود حذف الصف يبطأ الشيت بطريقة طويلة جدا فما العمل؟
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi muốn biết liệu mã có hoạt động hay không Nếu ô trống là kết quả của Công thức?
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, ACHINTA,
Mã VBA ở trên cũng được áp dụng cho các ô trống do công thức, bạn có thể thử nó, cảm ơn bạ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ông thức hoạt động để ẩn các ô dựa trên thông tin, ở phần đầu, nhưng không hiển thị lại các ô nếu nội dung của chúng thay đổi. Tôi muốn nó tiết lộ bất kỳ ô mới nào đã được điền đầy đủ thông tin (xảy ra thông qua tra cứu ô). Làm thế nào để tôi làm điều này?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bom dia, esta é minha needidade também.

Preciso ocultar và quando a célula for preenchida (uso uma fórmula que preenche mesma se houver valor em outra planilha) seja reexibida a linha novamente dema automática.

Biết ơn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Những gì tôi muốn là một cái gì đó như thế này để hoạt động trong trang tính đang hoạt động:

Nếu ô D2: D55 = ""
Sau đó, Hide.EntireRow

Nếu các ô D2: D55 = "có bất kỳ giá trị nào"
Sau đó Show.EntireRow

Làm thế nào?
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, Kacha, Bạn chỉ cần thay đổi tham chiếu ô trong mã thành phạm vi ô của riêng bạn như bên dưới: Private Sub Worksheet_Change (ByVal Target As Range)
'Cập nhật bởi Extendoffice
Dim xRg theo phạm vi
Application.ScreenUpdating = Sai
Đối với mỗi xRg trong phạm vi ("D2: D55")
Nếu xRg.Value = "" Thì
xRg.EntireRow.Hidden = True

Khác
xRg.EntireRow.Hidden = Sai
Cuối Nếu
XRg tiếp theo
Application.ScreenUpdating = True
End Sub Sau khi chèn mã, hãy nhớ nhấp đúp vào ô bất kỳ và nhấn phím Enter để mã có hiệu lực.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cách đơn giản nhất để hoàn tác tự động ẩn là gì?
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ình có sử dụng 2 mã trong 1 tệp excel (1 mã là của bạn) với đích mục trong các bản riêng và không thừa dòng trống. Khi mình ấn vào từng bản thì ok nhưng nếu trong 1 loạt thì code Ẩn không có tác dụng, bạn xem giúp mình với nhé, mình cảm ơn!

Sub PRINT_PRINT ()
Dim rng As Range, x As Range
Đặt rng = Range ("a16: a23")
Application.ScreenUpdating = Sai
Đối với mỗi x Trong rng
Nếu Len (x.Text) = 0 Thì
x.EntireRow.Hidden = True
Khác
x.EntireRow.Hidden = Sai
Cuối Nếu
Tiếp theo x
Application.ScreenUpdating = True


Làm mờ p1, p2, i &
p1 = Sheet1.Range ("O1"). Giá trị
p2 = Sheet1.Range ("O2"). Giá trị
Nếu IsNumeric (p1) = False Hoặc IsNumeric (p2) = Sai thì
tb = MsgBox ("So code phai la so.", "Thông báo")
Thoát Sub
Cuối Nếu
Nếu p1> p2 Thì
tb = MsgBox ("So code sau phai> = so code truoc.", "Thông báo")
Thoát Sub
Cuối Nếu
Nếu p1 <1 Hoặc p2 <1 Thì
tb = MsgBox ("So code phai> = 1.", "Thông báo")
Thoát Sub
Cuối Nếu
Nếu p1 <= p2 Thì
Đối với i = p1 Đến p2
Sheet1.Range ("M2"). Giá trị = i
Sheet1.PrintOut
Sau
Cuối Nếu
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
Hola, Necesito crear una macro que me oculte una columna.Sería así: en la primera fila poner un 1 a las columnas que no quiero ocultar y no poner ningún valor a las columnas que quiero ocultar. Estoy haciendo el siguiente código, pero no se en que fallo:
Sub OcultarColumnaSin1 ()
Application.ScreenUpdating = Sai
Đối với mỗi rango trong các cột
If rango = "" Thì
rango.EntireColumn.Hidden = True
Khác
rango.EntireColumn.Hidden = Sai
Cuối Nếu
Rango tiếp theo
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
Điều này rất hiệu quả đối với tôi, Nó ẩn các hàng và mở chúng khi các giá trị của tôi thay đổi dựa trên các công thức. Câu hỏi tôi có là trang tính của tôi dài 104 hàng. Nó xáo trộn một chút mỗi khi tôi nhấp vào một ô. Có cách nào để tăng tốc độ chuyển đổi khi nó được kích hoạt không? Hay nó là máy tính của tôi?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi muốn tự động ẩn các hàng nếu cột E trống hoặc 0
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nếu giá trị trong cột E trống hoặc 0, tôi muốn hàng tự động ẩn. Nếu giá trị trong E thay đổi thành một giá trị nào đó khác với giá trị trống hoặc 0, tôi muốn nó hiển thị. Báo cáo là 1500 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
Xin chào, Cathy,
Để tự động ẩn các hàng dựa trên các ô trống hoặc giá trị 0, vui lòng sử dụng mã vba dưới đây:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("E1:E1500")
            If (xRg.Value = "") Or (xRg.Value = "0") Then
                xRg.EntireRow.Hidden = True
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub


Hãy cố gắng, hy vọng nó có thể giúp bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm thế nào để ẩn hàng có hộp kiểm?
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, Sweta

Để ẩn các hàng bằng hộp kiểm, bài viết dưới đây có thể giúp bạn:
Làm thế nào để ẩn hộp kiểm khi hàng bị ẩn trong Excel?

Hãy thử, nếu bạn còn câu hỏi nào khác, hãy comment tại đây.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Khi thực thi mã trong office 2013/2019/2021, nó hoạt động nhưng mất quá nhiều thời gian để hoàn thành (chỉ có 95 hàng để ẩn).
Làm thế nào bạn có thể tăng tốc độ này?
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
Xin chào, Asaf,
Mã hoạt động tốt trong tệp Excel của tôi, bạn có thể tải sách từ vựng đính kèm lên đây nếu bạn không phiền? Để chúng tôi có thể giúp kiểm tra sự cố.

Cảm ơn bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
apakah ada rumus lain ?, saya berharap baris kosong itu akan terhapus saat mencetak file menjadi PDF tapi tampilan di excelnya tetap
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, Nurjanah
Để giải quyết vấn đề của bạn, trước tiên, bạn nên ẩn các hàng trống, sau đó in dữ liệu, sau khi in dữ liệu, bạn cần bỏ ẩn các hàng trống một lần nữa. Vui lòng làm như sau:
1. Áp dụng công thức này: = COUNTA (A2: E2) bên cạnh dữ liệu của bạn, xem ảnh chụp màn hình:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-1.png
2. Sau đó, lọc cột Trống trợ giúp mới, ẩn tất cả các hàng 0 giá trị, xem ảnh chụp màn hình:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-2.png
3. Và sau đó, bạn nên ẩn cột Trống mới và in dữ liệu, sau khi in trang tính, vui lòng hủy bộ lọc để bỏ ẩn các hàng trống khi bạn cần.
Hãy cố gắng, hy vọng nó có thể giúp bạn!
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, tôi đang gặp sự cố với "tự động hóa" macro. Tôi đang tìm cách để mã hoạt động như một quy trình tự động mà không cần chạy macro "thủ công". Tôi đã sử dụng biến thể mã của riêng mình do tôi thấy có vấn đề khi sử dụng mã của bạn. Đây là biến thể của tôi:

Sub HideRows()
Dim xRg theo phạm vi
Application.ScreenUpdating = Sai
Cho Mỗi xRg Trong Phạm Vi("A3:A800")
Nếu (xRg.Value = "") Thì
xRg.EntireRow.Hidden = True
Khác
xRg.EntireRow.Hidden = Sai
Cuối Nếu
XRg tiếp theo
Application.ScreenUpdating = True
End Sub

Tôi đang cố gắng tạo một bảng tính yêu cầu các giá trị luôn thay đổi, do đó sẽ yêu cầu một quy trình "tự động" thực sự. Tôi còn khá mới với VBA và nếu mã của bạn thực sự đã đáp ứng các yêu cầu của tôi, bạn có phiền giúp/dạy tôi áp dụng nó trong VBA không? 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
Chào anh Vian
Trên thực tế, mã trong bài viết của chúng tôi có thể được chạy tự động.
Bạn phải sao chép và dán mã vào mô-đun mã của trang tính hiện tại, sau đó quay lại trang tính, bấm đúp vào bất kỳ ô nào và nhấn nút đăng ký hạng mục thi key, hàng chứa ô trống sẽ bị ẩn trực tiếp.

Vui lòng làm theo phương pháp trong bài viết này từng bước, hy vọng nó có thể giúp ích cho bạn!
Cảm ơn bạn!
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