Shishona tự hỏi liệu có cách nào để Excel bật / đặt bộ lọc khi mở mọi sổ làm việc hay không. Cô ấy hầu như luôn sử dụng bộ lọc cho trang tính của mình và không tin rằng sẽ có hại khi bật bộ lọc cho các sổ làm việc mà cô ấy không sử dụng bộ lọc. Thay vì bật bộ lọc mỗi khi cô ấy mở một sổ làm việc, cô ấy muốn chúng đã được bật.

Câu trả lời, như bạn có thể đoán, phụ thuộc vào chính xác ý nghĩa của “mặc định”. Excel sẽ không cho phép bạn bật bộ lọc nếu trang tính không chứa dữ liệu (vì không có gì để lọc), vì vậy “mặc định” không có nghĩa là sổ làm việc mới, trống.

Vì bộ lọc chỉ có thể được bật trên trang tính chứa dữ liệu, nên có thể tạo “sổ làm việc mặc định” chứa dữ liệu và đã bật bộ lọc. Sau đó, lưu sổ làm việc đó vào một vị trí đặc biệt trên hệ thống của bạn để nó có thể được sử dụng làm mẫu mặc định cho bất kỳ sổ làm việc mới nào bạn tạo. (Cách bạn thực hiện việc này đã được đề cập trong các vấn đề khác của ExcelTips.)

Tất nhiên, việc thực hiện cách tiếp cận đó có thể gặp nhiều rắc rối hơn mức đáng có, bởi vì bạn có thể cần phải xóa dữ liệu được lọc mặc định sau khi tạo một sổ làm việc mới, điều đó có nghĩa là bộ lọc sẽ bị xóa. Do đó, tốt nhất là không gây rối với cách tiếp cận sổ làm việc mặc định.

Thay vào đó, bạn có thể muốn bật tính năng lọc tự động khi bạn mở một sổ làm việc hiện có. Không có cách nào để thực hiện việc này tự động trong Excel, nhưng bạn có thể không cần. Lý do là vì khi bạn lưu sổ làm việc, Excel sẽ nhớ dữ liệu nào của bạn có bộ lọc được áp dụng cho nó. Do đó, nếu bạn tạo một trang tính và bật tính năng lọc, rồi lưu sổ làm việc, thì lần sau khi bạn mở nó, các bộ lọc trên dữ liệu đó sẽ vẫn được bật.

Bạn cũng có thể đảm bảo dữ liệu trong trang tính của mình được xác định là bảng dữ liệu chính thức. Tất cả những gì bạn cần làm là chọn một ô trong dữ liệu và nhấn Ctrl + T hoặc hiển thị tab Chèn của dải băng và nhấp vào công cụ Bảng. Khi bảng dữ liệu được thiết lập, Excel sẽ bật các bộ lọc cho bảng dữ liệu đó trừ khi bạn chuyển đổi lại bảng dữ liệu từ bảng dữ liệu thành dữ liệu thông thường.

Nếu bạn lo lắng rằng bộ lọc sẽ bị tắt (hoặc hoàn toàn không được bật) khi lưu sổ làm việc, bạn có thể thêm macro vào hỗn hợp để chuyển qua các trang tính và bật tính năng lọc. Ví dụ sau làm điều đó, bỏ qua bất kỳ trang tính nào có thể đã được bật tính năng lọc.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _   Cancel As Boolean)

Dim ws As Worksheet

On Error Resume Next ' Handles worksheets with no data     For Each ws In ThisWorkbook.Worksheets         If ws.AutoFilter Is Nothing Then             ' Only affect worksheets with filtering turned off             ws.Rows(ws.UsedRange.Row).AutoFilter         End If     Next ws     On Error GoTo 0 End Sub

Macro này phải được thêm vào đối tượng ThisWorkbook trong Visual Basic Editor. Nó sẽ thực thi mỗi khi đóng sổ làm việc, do đó đảm bảo rằng tính năng lọc được bật cho mọi trang tính. Vì trạng thái lọc được lưu cùng với sổ làm việc, các bộ lọc sẽ được đặt vào lần sau khi mở sổ làm việc.

Tất nhiên, bạn có thể không muốn một macro được liên kết với mỗi sổ làm việc của bạn. Trong tình huống như vậy, có thể dễ dàng hơn để nhớ một phím tắt nhanh nhỏ: Ctrl + Shift + L. Phím tắt này chuyển đổi trạng thái lọc trên dữ liệu xung quanh ô hiện được chọn. Do đó, bạn có thể chọn một ô, nhấn Ctrl + Shift + L và tính năng lọc được bật. Nhấn lại và tính năng lọc bị tắt. Phím tắt cực kỳ nhanh và cho phép bạn dễ dàng lọc dữ liệu của mình (hoặc không).

Bạn cũng có thể thêm công cụ Bộ lọc vào Thanh công cụ Truy nhập Nhanh. (Việc thêm các công cụ vào QAT đã được đề cập trong các vấn đề khác của ExcelTips.) Nhấp vào biểu tượng Bộ lọc để bật và tắt bộ lọc.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (13037) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.