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

img1

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

img2

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

img3

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.

img4

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.

img5

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

img6

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.