Excel tự động ẩn hàng trống

joe4 nói

Bộ lọc cũng có thể được áp dụng thông qua VBA, vì vậy người dùng không cần phải thực hiện thủ công

Trong các ví dụ sau, chúng tôi sẽ sử dụng Phạm vi. EntireRow của VBA Excel để chọn toàn bộ một hàng hoàn toàn trống hoặc có các ô trống trong đó. Khi đó chúng ta cần gán thuộc tính Hidden là True để ẩn hàng

Viết mã trong Visual Basic Editor

Để ẩn các hàng trống, chúng ta cần mở và viết mã VBA trong trình soạn thảo trực quan cơ bản. Làm theo các bước để mở trình soạn thảo trực quan cơ bản và viết một số mã ở đó

  • Chuyển đến tab Nhà phát triển từ Dải băng Excel
  • Nhấp vào tùy chọn Visual Basic

  • Trong cửa sổ Visual Basic For Applications, nhấp vào menu thả xuống Chèn để chọn tùy chọn Mô-đun mới

Bây giờ hãy đặt mã của bạn vào trình chỉnh sửa mã trực quan và nhấn F5 để chạy mã

1. Ẩn các hàng chứa các ô trống

1. 1 Ẩn hàng dựa trên phạm vi nguồn được xác định trước

Nhiệm vụ . Ẩn các hàng có chứa các ô trống trong tập dữ liệu sau [B4. H13].

Phân tích vấn đề. Chúng ta cần chạy một vòng lặp qua tất cả các ô trong tập dữ liệu [B4. H13] để tìm các ô trống [B8 và D10] trước. Sau đó, chúng ta sẽ chọn toàn bộ các hàng [hàng 8 và 10] tương ứng với các ô trống và ẩn chúng đi.

Giải pháp . Để kiểm tra từng ô trong tập dữ liệu, chúng ta sẽ sử dụng vòng lặp For Each…Next trong đoạn mã sau. Và câu lệnh If…Then…Else sẽ kiểm tra xem ô có trống hay không. Nếu điều kiện là đúng, nó sẽ áp dụng Phạm vi VBA. EntireRow để chọn toàn bộ hàng để gán thuộc tính Ẩn là đúng.

. Chèn đoạn mã sau vào trình chỉnh sửa cơ bản trực quan và nhấn F5 để chạy nó.

Sub HideBlankRows[]
Dim val As Range
For Each val In Range["B4:H13"].Cells
If val .Value = "" Then
    val .EntireRow.Hidden = True
End If
Next
End Sub

Đầu ra . Chúng tôi đã ẩn thành công hàng 8 và 10 được hiển thị trong tập dữ liệu sau.

1. 2 Ẩn hàng dựa trên lựa chọn

Nhiệm vụ . Ẩn các hàng chứa các ô trống trong phạm vi nguồn đã chọn [B4. H9].

Phân tích vấn đề . Chúng ta cần chạy một vòng lặp qua tất cả các ô trong tập dữ liệu đã chọn [B4. H9] để tìm các ô trống [B8] trước. Sau đó, chúng ta sẽ chọn toàn bộ hàng [hàng 8] tương ứng với ô trống và ẩn đi.

Giải pháp . Ngoài giải pháp trước đây, chúng ta cần sử dụng Ứng dụng. Thuộc tính lựa chọn để chọn phần dữ liệu mong muốn của chúng tôi.

. Chèn đoạn mã sau vào trình chỉnh sửa cơ bản trực quan và nhấn F5 để chạy nó.

Sub HideBlankRows[]
Dim val As Range
For Each val In Selection
If val.Value = "" Then
     val.EntireRow.Hidden = True
End If
Next
End Sub

Đầu ra . Chúng tôi đã ẩn thành công hàng 8 được hiển thị trong tập dữ liệu sau. Nó không ẩn hàng 10 vì nó nằm ngoài phạm vi đã chọn.

Đọc thêm. Macro Excel. Ẩn hàng dựa trên văn bản ô trong Excel [3 phương pháp đơn giản]

2. Chọn một phạm vi và sau đó ẩn hàng trống

Nhiệm vụ . Ẩn các hàng hoàn toàn trống trong tập dữ liệu đã chọn. Mã mà chúng tôi sẽ chạy không được ẩn một hàng có một hoặc nhiều ô trống nhưng không hoàn toàn trống.

Phân tích vấn đề . Chúng tôi đã chọn toàn bộ tập dữ liệu và muốn ẩn hàng 10 và 12. Hai hàng này hoàn toàn trống. Nhưng chúng tôi không muốn ẩn hàng 8 có ô trống.

Giải pháp . Sử dụng hàm CountA làm hàm trang tính trong mã VBA để kiểm tra từng hàng xem có trống hay không.

. Chèn đoạn mã sau vào trình chỉnh sửa cơ bản trực quan và nhấn F5 để chạy nó.

Public Sub DeleteBlankRows[]
    Dim cellRange As Range
    Dim selectRow As Range
    Set cellRange = Application.Selection
    If Not [cellRange Is Nothing] Then
        Application.ScreenUpdating = False
        For i = cellRange.Rows.Count To 1 Step -1
            Set selectRow = cellRange.Cells[i, 1].EntireRow
            If Application.WorksheetFunction.CountA[selectRow] = 0 Then
                selectRow.Hidden = True
            End If
        Next
        Application.ScreenUpdating = True
    End If
End Sub

Đầu ra . Chúng tôi đã ẩn thành công hàng 10 và 12 được hiển thị trong tập dữ liệu sau.

Đọc thêm. Cách ẩn hàng dựa trên giá trị ô trong Excel [5 phương pháp]

bài đọc tương tự

  • VBA để ẩn hàng dựa trên giá trị ô trong Excel [14 ví dụ]
  • VBA để ẩn hàng dựa trên tiêu chí trong Excel [15 ví dụ hữu ích]
  • Hàng ẩn trong Excel. Làm cách nào để Bỏ ẩn hoặc Xóa chúng?

3. Ẩn tất cả các hàng trống trong một trang tính

Nhiệm vụ . Ẩn các hàng hoàn toàn trống trong toàn bộ tập dữ liệu. Mã mà chúng tôi sẽ chạy không được ẩn một hàng có một hoặc nhiều ô trống nhưng không hoàn toàn trống.

Phân tích vấn đề. Chúng tôi muốn chọn toàn bộ tập dữ liệu với mã VBA của mình một cách tự động chứ không phải theo cách thủ công như chúng tôi đã làm trong ví dụ trước.

Giải pháp . Chúng ta cần sử dụng Worksheet. Thuộc tính usedRange để tự động chọn toàn bộ tập dữ liệu.

. Chèn đoạn mã sau vào trình chỉnh sửa cơ bản trực quan và nhấn F5 để chạy nó.

Public Sub DeleteBlankRows[]
    Dim cellRange As Range
    Dim selectRow As Range
    Set cellRange = ActiveSheet.UsedRange
    If Not [cellRange Is Nothing] Then
        Application.ScreenUpdating = False
        For i = cellRange.Rows.Count To 1 Step -1
            Set selectRow = cellRange.Cells[i, 1].EntireRow
            If Application.WorksheetFunction.CountA[selectRow] = 0 Then
                selectRow.Hidden = True
            End If
        Next
        Application.ScreenUpdating = True
    End If
End Sub

Đầu ra . Chúng tôi đã ẩn thành công hàng 10 và 12 được hiển thị trong tập dữ liệu sau.

Đọc thêm. Công thức ẩn hàng trong Excel [7 phương pháp]

4. Tự động ẩn hàng dựa trên các ô trống

Nhiệm vụ . Ẩn toàn bộ hàng bất cứ khi nào một ô trống được tạo trong tập dữ liệu.

. Bấm chuột phải vào tên trang tính và chọn tùy chọn Xem mã.

Sau đó đặt đoạn mã sau vào trình chỉnh sửa và lưu nó

Private Sub Worksheet_Change[ByVal Target As Range]
    Dim val As Range
    Application.ScreenUpdating = False
        For Each val In ActiveSheet.UsedRange
            If val.Value = "" Then
                val.EntireRow.Hidden = True
            End If
        Next val
    Application.ScreenUpdating = True
End Sub

Đầu ra . nếu chúng ta xóa một ô dữ liệu để làm cho nó trống, toàn bộ hàng chứa ô trống sẽ bị ẩn. Ví dụ: chúng tôi đã xóa dữ liệu ô B6 để làm cho nó trống. Mã VBA bị ẩn hoàn toàn hàng số 6.

Đọc thêm. Ẩn hàng dựa trên giá trị ô với định dạng có điều kiện trong Excel

Những điều cần ghi nhớ

Khi chúng tôi chạy mã VBA, sau khi hoàn thành tác vụ, nó sẽ mất lịch sử. Vì vậy, chúng tôi không thể hoàn tác những gì chúng tôi đã làm. Đó là lý do tại sao chúng ta cũng nên biết cách bỏ ẩn hàng trong Excel

Phần kết luận

Bây giờ, chúng ta đã biết cách ẩn các hàng trống bằng VBA trong Excel với sự trợ giúp của các ví dụ phù hợp. Hy vọng sẽ giúp bạn tự tin sử dụng chức năng hơn. Mọi thắc mắc hay góp ý đừng quên để lại ở khung bình luận bên dưới

Chủ Đề