Lọc dữ liệu kiểu số theo điều kiện

Liên hệ QC

KhoiLe12

Thành viên mới
Tham gia
22/9/21
Bài viết
27
Được thích
2
Em chào forum, em đang tập sử dụng VBA excel, em có bài tập về lọc dữ liệu kiểu số theo điều kiện cần anh/ chị giúp đỡ ạ.

Đề bài cho em 1 dãy số theo cột A ( 1, 2, 7, 9, 10, 4, 6). Yêu cầu làm 1 nút khi bấm vào sẽ lọc được những số nhỏ hơn 5, bấm lại lần nữa hiện ra đầy đủ lại cột giá trị. Em dự định làm theo filter rồi gắn macro đấy vào nút., nhưng em vẫn chưa biết làm sao để khi ấn lại nút ấy lần nữa tất cả dữ liệu sẽ hiện lại như ban đầu.
Và em muốn hỏi thêm mình muốn làm theo hướng xài hàm loop và if có thể giải quyết bài tập này không ạ.

Do em mới học VBA excel được vài bữa nên câu từ hơi lủng củng, hy vọng được anh/ chị giúp đỡ ạ. Nếu bài đăng có gì sai sót mong admin nhắc nhở em. Chúc mọi người có nhiều sức khỏe ạ.
 
Em chào forum, em đang tập sử dụng VBA excel, em có bài tập về lọc dữ liệu kiểu số theo điều kiện cần anh/ chị giúp đỡ ạ.

Đề bài cho em 1 dãy số theo cột A ( 1, 2, 7, 9, 10, 4, 6). Yêu cầu làm 1 nút khi bấm vào sẽ lọc được những số nhỏ hơn 5, bấm lại lần nữa hiện ra đầy đủ lại cột giá trị. Em dự định làm theo filter rồi gắn macro đấy vào nút., nhưng em vẫn chưa biết làm sao để khi ấn lại nút ấy lần nữa tất cả dữ liệu sẽ hiện lại như ban đầu.
Và em muốn hỏi thêm mình muốn làm theo hướng xài hàm loop và if có thể giải quyết bài tập này không ạ.

Do em mới học VBA excel được vài bữa nên câu từ hơi lủng củng, hy vọng được anh/ chị giúp đỡ ạ. Nếu bài đăng có gì sai sót mong admin nhắc nhở em. Chúc mọi người có nhiều sức khỏe ạ.
Bạn nên ví dụ vào file cả hai trường hợp xem nó hiện kiểu gì rồi gửi lên, có khi ai đó sẽ gúp được bạn.
 
Bạn không thể up 1 file theo đúng ý tượng của bạn lên sao?
File chỉ có duy nhất cột số hay còn nhiều cột khác?
 
dạ đợi em chút để em chụp cho ạ
 
Đây ạ, em bịa đại số khác, em làm macro như thế này

Public Sub lessthan5()

ActiveSheet.Range("$A$1:$A$7").AutoFilter Field:=1, Criteria1:="<5", Operator:=xlAnd

End Sub


Xong về sau em sẽ gán cái macro này vào 1 cái nút, nhưng em chưa nghĩ ra cách làm sao để bấm nút 1 lần nữa cột dữ liệu lại trở lại đầy đủ ấy anh.
 

File đính kèm

  • VD.xlsm
    13.5 KB · Đọc: 9
Đây ạ, em bịa đại số khác, em làm macro như thế này

Public Sub lessthan5()

ActiveSheet.Range("$A$1:$A$7").AutoFilter Field:=1, Criteria1:="<5", Operator:=xlAnd

End Sub


Xong về sau em sẽ gán cái macro này vào 1 cái nút, nhưng em chưa nghĩ ra cách làm sao để bấm nút 1 lần nữa cột dữ liệu lại trở lại đầy đủ ấy anh.
.................................................
Mã:
Dim k As Boolean

Public Sub lessthan5()
If k = True Then
    ActiveSheet.Range("$A$1:$A$7").AutoFilter Field:=1, Criteria1:="<5", Operator:=xlAnd
    k = False
Else
    ActiveSheet.Range("$A$1:$A$7").AutoFilter
    k = True
End If
End Sub
 
.................................................
Mã:
Dim k As Boolean

Public Sub lessthan5()
If k = True Then
    ActiveSheet.Range("$A$1:$A$7").AutoFilter Field:=1, Criteria1:="<5", Operator:=xlAnd
    k = False
Else
    ActiveSheet.Range("$A$1:$A$7").AutoFilter
    k = True
End If
End Sub
Em cảm ơn anh, code chạy rồi anh ạ.
 
.................................................
Mã:
Dim k As Boolean

Public Sub lessthan5()
If k = True Then
    ActiveSheet.Range("$A$1:$A$7").AutoFilter Field:=1, Criteria1:="<5", Operator:=xlAnd
    k = False
Else
    ActiveSheet.Range("$A$1:$A$7").AutoFilter
    k = True
End If
End Sub
anh ơi cho em hỏi thêm tại sao em thử trong vài cái dãy số khác thì cái ô trên cùng của cột ( ví dụ ô A1) không được lọc vậy anh.
 
anh ơi cho em hỏi thêm tại sao em thử trong vài cái dãy số khác thì cái ô trên cùng của cột ( ví dụ ô A1) không được lọc vậy anh.
A1 Là tên trường, dữ liệu bắt đầu từ A2, lệnh autofilter vẫn bắt đầu từ A1.
Bài đã được tự động gộp:

Giống như cột số thứ tự vậy: Trên cùng là STT, các ô tiếp theo là 1, 2, 3 ...Nhưng autofilter vẫn phải từ STT
 
Lần chỉnh sửa cuối:
A1 Là tên trường, dữ liệu bắt đầu từ A2, lệnh autofilter vẫn bắt đầu từ A1.
Bài đã được tự động gộp:

Giống như cột số thứ tự vậy: Trên cùng là STT, các ô tiếp theo là 1, 2, 3 ...Nhưng autofilter vẫn phải từ STT
à dạ anh em hiểu rồi, em cảm ơn anh ạ.
 
Web KT
Back
Top Bottom