Cách lọc dữ liệu dựa trên lựa chọn ô bằng VBA trong Microsoft Excel
Trong bài viết này, bạn sẽ học cách lọc dữ liệu dựa trên việc chọn ô.
Bạn cần làm theo các bước sau:
Nhấp vào tab Nhà phát triển Từ nhóm Mã, chọn Visual Basic
Nhập mã sau vào trang tính hiện tại (sheet1 trong ví dụ của chúng tôi)
Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Dim xcolumn As Integer
Dim xvalue As String
xcolumn = ActiveCell.Column
xvalue = ActiveCell.Value
Nếu Application.Intersect (ActiveCell, [headers]) Không có gì thì
Nếu ActiveCell.Value <> “” thì
ActiveSheet.Range (“A: d”). Trường tự động lọc: = xcolumn, Criteria1: = xvalue
Hủy = Đúng
Kết thúc Nếu
Kết thúc Nếu
End Sub
===
===
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim rownumber As Integer
rownumber = ActiveCell.Row
Nếu Application.Intersect (ActiveCell, [headers]) Không có gì thì
Nếu ActiveCell.Value <> “” thì
Phạm vi (“A1: D13”). Interior.ColorIndex = xlNone
Phạm vi (“A” & rownumber & “: D” & rownumber) .Interior.ColorIndex = 6
Kết thúc Nếu
Kết thúc Nếu
End Sub
Lưu ý: Các tiêu đề trong đoạn mã trên đại diện cho phạm vi được đặt tên cho phạm vi A1: D1 Bạn chỉ cần chọn phạm vi A1: D1 và nhập tiêu đề vào hộp Tên hoặc bạn có thể sử dụng Tên được xác định trong tab Công thức
Sự kiện BeforeDoubleClick * sẽ được kích hoạt mỗi khi người dùng nhấn đúp vào bất kỳ ô nào và nó sẽ thay đổi bộ lọc tìm kiếm.
-
Nếu chúng ta muốn lọc dữ liệu theo Sản phẩm C, chúng ta có thể dễ dàng nhấp đúp vào ô D4 để lọc tìm kiếm.
Trong trường hợp chúng ta muốn lọc tìm kiếm theo cột C & Product KFCWW thì chúng ta sẽ nhấp đúp chuột vào ô C4 để thu hẹp dữ liệu.
Sự kiện SelectionChange * sẽ được kích hoạt mỗi khi người dùng chọn bất kỳ ô nào và nó sẽ chuyển màu từ trắng sang vàng. Nếu ô hiện hoạt trống thì mã sẽ không chạy.
-
Nếu chúng ta nhấp vào ô B3 thì hàng đó sẽ được tô sáng bằng màu vàng. Tham khảo ảnh chụp nhanh dưới đây
Tại đây, bạn có thể thấy thanh công thức hiển thị ô đã chọn, tức là ô B3 Bằng cách này, bạn có thể đánh dấu các hàng bằng một cú nhấp chuột và lọc dữ liệu dựa trên việc chọn ô bằng mã VBA.