Note: The other languages of the website are Google-translated. Back to English
Đăng nhập  \/ 
x
or
x
Đăng ký  \/ 
x

or

Làm cách nào để tự động ẩn các cột dựa trên ngày tháng trong Excel?

Giả sử, tôi có một phạm vi dữ liệu trong một trang tính, bây giờ, tôi muốn tự động ẩn các cột dựa trên một ngày cụ thể. Ví dụ: khi tôi nhập ngày 5/16/2016 vào một ô, tôi muốn ẩn các cột có ngày nhỏ hơn ngày cụ thể này ngay lập tức như ảnh chụp màn hình sau. Bài viết này sẽ giới thiệu một số thủ thuật để giải quyết nó.

doc ẩn các cột theo ngày 1

Tự động ẩn các cột dựa trên một ngày cụ thể với mã VBA

Ẩn các cột dựa trên một ngày cụ thể với Kutools cho Excel


mũi tên màu xanh bong bóng bên phải Tự động ẩn các cột dựa trên một ngày cụ thể với mã VBA

Để hoàn thành tác vụ này, mã VBA sau có thể giúp bạn, vui lòng thực hiện như sau:

1. Chọn tab trang tính mà bạn muốn ẩn theo ngày và nhấp chuột phải để chọn Mã Chế độ xem từ menu ngữ cảnh để chuyển đến Microsoft Visual Basic cho các ứng dụng cửa sổ, sau đó sao chép và dán mã sau vào Mô-đun:

Mã VBA: Tự động ẩn các cột dựa trên ngày cụ thể:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xCell As Range
    If Target.Address <> Range("K4").Address Then Exit Sub
    Application.ScreenUpdating = False
    For Each xCell In Range("A1:I1")
        xCell.EntireColumn.Hidden = (xCell.Value < Target.Value)
    Next
    Application.ScreenUpdating = True
End Sub

doc ẩn các cột theo ngày 2

2. Sau đó, lưu và đóng mã này, quay lại trang tính và bây giờ, khi bạn nhập ngày vào ô K4, các cột có ngày nhỏ hơn ngày cụ thể này sẽ tự động bị ẩn.

Chú thích: Trong đoạn mã trên, K4 là ô ngày cụ thể mà bạn muốn ẩn các cột dựa trên, A1: I1 là các ô hàng chứa ngày bạn đã sử dụng.


mũi tên màu xanh bong bóng bên phải Ẩn các cột dựa trên một ngày cụ thể với Kutools cho Excel

Nếu bạn không quen thuộc với mã, đây là một công cụ hữu ích-Kutools cho Excel, Với khả Chọn các ô cụ thể tiện ích, bạn có thể hoàn thành công việc này một cách dễ dàng.

Kutools cho Excel : với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. 

Sau khi cài đặt Kutools cho Excel, vui lòng làm như sau:

1. Chọn tiêu đề ngày và nhấp vào Kutools > Chọn > Chọn các ô cụ thể, xem ảnh chụp màn hình:

2. Trong cửa sổ bật ra Chọn các ô cụ thể hộp thoại, chọn Toàn bộ cột từ Loại lựa chọnrồi chọn các tiêu chí, chẳng hạn như Ít hơn từ Loại cụ thể danh sách thả xuống và nhập ngày vào hộp văn bản bên cạnh mà bạn muốn ẩn các cột dựa trên, xem ảnh chụp màn hình:

doc ẩn các cột theo ngày 4

3. Và sau đó nhấp vào Ok , các cột cụ thể có ngày dưới 5/16/2016 được chọn cùng một lúc, xem ảnh chụp màn hình:

doc ẩn các cột theo ngày 5

4. Sau đó, nhấp chuột phải vào bất kỳ một tiêu đề cột đã chọn nào và chọn Ẩn giấu để ẩn các cột đã chọn của luận án khi bạn cần. Xem ảnh chụp màn hình:

doc ẩn các cột theo ngày 6

Nhấp vào Tải xuống miễn phí Kutools cho Excel ngay!


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 ...
  • Super Formula Bar (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ọc...
  • 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ãy...
  • 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ét...
  • 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à PDF...
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2019 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 đủ các tính năng dùng thử miễn phí 30 ngày. Đảm bảo hoàn 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
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Seven · 3 years ago
    I have the same issue as Chris. The cell with my date does not always change. I need the macro to run regardless of whether the date has changed from last month or is the same as last month without having to click on the cell itself and hit enter to trigger the "Change"
  • To post as a guest, your comment is unpublished.
    Chris · 3 years ago
    Hello,
    Thanks for the code.
    In my case the cell K4 is a calculation cell from the formula =EOMONTH(A1,0). Example: A1 = 01.03.2017. K4 takes the value 31.03.2017. But the VBA code that you propose does not hide the columns until I click on K4 cell and press Enter to refresh it. I tried to add Range("K4").calculate but with no effect. Help please.