Tin tức và phân tích của tất cả các thiết bị di động

Cách tự động làm mới dữ liệu đã lọc trong Excel khi được cập nhật

Chia sẻ ngay trên phương tiện truyền thông xã hội:

Microsoft Excel cho phép bạn lọc dữ liệu. Đây là một tính năng hữu ích có thể giúp bạn hiểu một lượng lớn dữ liệu. Nếu bạn không có kiến ​​thức kỹ thuật cần thiết để tạo cơ sở dữ liệu, thì tính năng này là cứu cánh. Bộ lọc khá cơ bản và cho phép bạn bao gồm hoặc loại trừ dữ liệu khỏi một cột. Bộ lọc mở rộng để áp dụng cho cả các giá trị dữ liệu trong các hàng tương ứng. Những gì bộ lọc không làm là tự động cập nhật. Nếu giá trị trong cột được lọc thay đổi do cập nhật thủ công hoặc sử dụng công thức, thì các bộ lọc phải được áp dụng lại. Một đoạn mã đơn giản cho phép bạn cập nhật các cột đã lọc một cách nhanh chóng.

Bạn sẽ cần bật macro và lưu tệp Excel dưới dạng tệp hỗ trợ macro, .XLSM, để sử dụng mã. Để lưu tệp dưới dạng tệp hỗ trợ macro, hãy đi tới Tệp > Lưu dưới dạng và chọn Sổ làm việc hỗ trợ macro Excel trong hộp thoại “Lưu dưới dạng”.

Sau đó, chọn trang tính mà bạn đã áp dụng các bộ lọc. Nhấp chuột phải vào nó và chọn “Xem mã” từ menu ngữ cảnh.

Một cửa sổ Microsoft Visual Basic sẽ mở ra với trang tính Excel hiện tại. Dán đoạn mã sau vào cửa sổ mã.

Private Sub Worksheet_Change(ByVal Target As Range)
If Me.FilterMode = True Then
With Application
.EnableEvents = False
.ScreenUpdating = False
End With

With ActiveWorkbook
.CustomViews.Add ViewName:="Mine", RowColSettings:=True
Me.AutoFilterMode = False
.CustomViews("Mine").Show
.CustomViews("Mine").Delete
End With
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End If

End Sub

Lưu tập tin. Nếu bạn không lưu tệp dưới dạng sổ làm việc Excel có bật macro, bạn sẽ được nhắc thực hiện lại. Tệp đã lưu này sẽ được lưu dưới dạng một bản sao và sẽ không ghi đè lên tệp hiện tại.

Sau khi thêm mã, bạn có thể cập nhật bất kỳ ô nào trong cột đã lọc, thao tác này sẽ tự động làm mới dữ liệu đã lọc theo điều kiện bạn đặt. Mã này được viết bởi Sorin, một người dùng Stack Exchange.

Bạn nghĩ gì về bài báo này?