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

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á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 (0)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
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