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

OFFICES


Microsoft Excel cho phép bạn lọc dữ liệu. Đó là một tính năng hữu ích có thể giúp bạn hiểu được lượng lớn dữ liệu. Nếu bạn thiếu bí quyết kỹ thuật cần thiết để tạo cơ sở dữ liệu, tính năng này là một cứu cánh. Các 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 cũng mở rộng và áp dụng cho 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 chính nó. Nếu một giá trị trong cột được lọc thay đổi, do bạn đã cập nhật nó theo cách thủ công hoặc một công thức đang được sử dụng, bạn phải áp dụng lại các bộ lọc. 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ẽ phải bật Macro và lưu tệp Excel của mình 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 Đã bật Macro của Excel từ hộp thoại ‘Lưu Dưới dạng’.

Tiếp theo, chọn trang tính mà bạn đã áp dụng bộ lọc. Nhấp chuột phải vào nó và chọn ‘Xem mã’ từ trình đơn 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 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 các tập tin. Nếu bạn không lưu tệp dưới dạng Sổ làm việc Kích hoạt Macro Excel, bạn sẽ được nhắc thực hiện lại. Tệp mà bạn lưu này sẽ được lưu một bản sao và sẽ không ghi đè lên tệp hiện tại.

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



Source link

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *