Bỏ qua nội dung chính

Làm cách nào để ẩn các cột trong thời gian thực dựa trên thông tin nhập của người dùng trong Excel?

Việc ẩn các cột trong Excel có thể là một nhiệm vụ phổ biến đối với hầu hết chúng ta, nhưng bạn đã bao giờ cố gắng ẩn các cột tự động dựa trên một số giá trị đầu vào cụ thể chưa? Ví dụ: khi tôi nhập văn bản “AA” vào một ô, cột A bị ẩn; khi tôi nhập "BB", cột B và C bị ẩn; khi nhập "CC", cột D và E bị ẩn; khi nhập “DD”, cột F bị ẩn như hình minh họa bên dưới. Bài viết này sẽ tạo một mã VBA để giải quyết nó trong Excel.

Ẩn hoặc hiện các cột trong thời gian thực dựa trên thông tin người dùng nhập bằng mã VBA

Ẩn hoặc hiện các cột để lọc dữ liệu dựa trên đầu vào của người dùng với mã VBA


Ẩn hoặc hiện các cột trong thời gian thực dựa trên thông tin người dùng nhập bằng mã VBA

Để ẩn các cột cụ thể trong thời gian thực dựa trên các giá trị đầu vào, vui lòng áp dụng mã VBA bên dưới:

1. Trong trang tính mà bạn muốn ẩn các cột, hãy bấm chuột phải vào tab trang tính, sau đó bấm Mã Chế độ xem từ menu ngữ cảnh, xem ảnh chụp màn hình

2. Trong mở Microsoft Visual Basic cho các ứng dụng cửa sổ, sao chép và dán mã VBA sau vào Trang tính (Mã) cửa sổ.

Mã VBA: Ẩn các cột trong thời gian thực dựa trên đầu vào của người dùng

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
Chú thích: Trong đoạn mã trên, K1 là ô mà bạn nhập văn bản cụ thể và bạn nên thay đổi văn bản và tên cột theo nhu cầu của mình. Ngoài ra, bạn có thể thêm các tiêu chí mới khác bằng cách thêm các tập lệnh bên dưới:
  • Trường hợp "AA": Cột ("A"). EntireColumn.Hidden = False
  • Columns ("A"). EntireColumn.Hidden = True

3. Sau đó, đóng cửa sổ mã. Bây giờ, khi nhập “AA” vào ô K1, và nhấn đăng ký hạng mục thi khóa, cột A bị ẩn; khi nhập “BB” và nhấn đăng ký hạng mục thi , cột B và C bị ẩn, v.v. Nếu bạn nhập bất kỳ giá trị nào khác hoặc xóa nội dung, các cột ẩn sẽ được hiển thị cùng một lúc, hãy xem bản trình diễn bên dưới:


Ẩn hoặc hiện các cột để lọc dữ liệu dựa trên đầu vào của người dùng với mã VBA

Trong ví dụ này, tôi sẽ đi lọc phạm vi dữ liệu dựa trên tên sản phẩm đã nhập. Khi tôi nhập “Hoodie”, chỉ thông tin về Hoodie được hiển thị và các cột khác sẽ bị ẩn ngay lập tức; và khi tôi nhập “Tất cả”, tất cả các cột sẽ được hiển thị như hình minh họa bên dưới:

1. Trong trang tính mà bạn muốn ẩn các cột, hãy bấm chuột phải vào tab trang tính, sau đó bấm Mã Chế độ xem từ menu ngữ cảnh, xem ảnh chụp màn hình:

2. Trong mở Microsoft Visual Basic cho các ứng dụng cửa sổ, sao chép và dán mã VBA sau vào Trang tính (Mã) cửa sổ.

Mã VBA: Ẩn hoặc hiện các cột để lọc dữ liệu dựa trên đầu vào của người dùng

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
    Dim x As Variant, y As String
     If Target.Address = "$K$1" Then
        y = Target.Value
        With Range("B1:H1")
            Application.ScreenUpdating = False
            .EntireColumn.Hidden = (y <> "All")
            If y <> "All" Then
                For Each x In .Cells
                    If x = y Then x.EntireColumn.Hidden = False
                Next
            End If
            Application.ScreenUpdating = True
        End With
    End If
End Sub
Chú thích: Trong đoạn mã trên, K1 là ô mà bạn nhập văn bản cụ thể, B1: H1 là tiêu đề hàng chứa tên sản phẩm mà bạn muốn lọc.

3. Sau đó, đóng cửa sổ mã. Bây giờ, nếu bạn nhập tên sản phẩm vào ô K1, chỉ các cột tương ứng sẽ được hiển thị, các cột còn lại sẽ bị ẩn; và nếu bạn nhập văn bản “Tất cả”, tất cả các cột sẽ xuất hiện như hình minh họa bên dưới:

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

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


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!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations