Lọc danh sách theo lớp

  • Thread starter Thread starter titina
  • Ngày gửi Ngày gửi
Liên hệ QC

titina

Thành viên mới
Tham gia
10/9/08
Bài viết
4
Được thích
3
Tôi có danh sách các lớp từ 10A1, 10A2, 10A3. Tôi sử dụng Autofilter để chọn 1 lớp. Ví dụ: chọn lớp 10A1thì tiêu đề lớp chổ ô màu vàng hiện lên là 10A1, chọn 10A2 thì ô màu vàng hiện lên là 10A2, chọn 10A3 thì hiện lên 10A3. Tôi muốn tạo một Hàm lọc bằng VB và Add in vào để sử dụng, thì viết code như thế nào? Tôi co gửi file kèm theo. Xin các anh chị chỉ tôi. Cám ơn nhiều. Mail của tôi là: lttuduy@gmail.com
 

File đính kèm

Tôi có danh sách các lớp từ 10A1, 10A2, 10A3. Tôi sử dụng Autofilter để chọn 1 lớp. Ví dụ: chọn lớp 10A1thì tiêu đề lớp chổ ô màu vàng hiện lên là 10A1, chọn 10A2 thì ô màu vàng hiện lên là 10A2, chọn 10A3 thì hiện lên 10A3. Tôi muốn tạo một Hàm lọc bằng VB và Add in vào để sử dụng, thì viết code như thế nào? Tôi co gửi file kèm theo. Xin các anh chị chỉ tôi. Cám ơn nhiều. Mail của tôi là: lttuduy@gmail.com

Tôi nghĩ bạn nên làm ngược lại, nếu bạn dùng XL2007 cái Filter nó có thể chọn hơn 1 mục thì cái ô "màu vàng" của bạn sẽ chứa làm sao đây nhỉ? Theo tôi bạn nên làm một cái combobox, lọc không trùng các lớp học, tạo nguồn cho combobox đó, khi chọn mục nào trong đó, nó sẽ filter cho bạn. Nếu bạn đồng ý với phương án của tôi thì tôi sẽ làm giúp bạn. Ngoài ra, nếu bạn muốn code này làm addins, bạn phải gửi đúng cấu trúc ở file của bạn, nếu không sẽ không ứng dụng được các file không đồng nhất về cấu trúc bảng biểu.
 
Upvote 0
Cái này nên áp dụng từng file cụ thể chứ làm adin mà cấu trúc không giống nhau thì lỗi dai dài
Code thì đơn giản thế này thôi, bạn tham khảo. Mình gắn vào Event của sheet1 như sau
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$2" Then
Range(Cells(3, "E"), [e65536].End(xlUp)).AutoFilter Field:=1, Criteria1:=[c2]
End If
End Sub
 

File đính kèm

Upvote 0
Tôi có danh sách các lớp từ 10A1, 10A2, 10A3. Tôi sử dụng Autofilter để chọn 1 lớp. Ví dụ: chọn lớp 10A1thì tiêu đề lớp chổ ô màu vàng hiện lên là 10A1, chọn 10A2 thì ô màu vàng hiện lên là 10A2, chọn 10A3 thì hiện lên 10A3. Tôi muốn tạo một Hàm lọc bằng VB và Add in vào để sử dụng, thì viết code như thế nào? Tôi co gửi file kèm theo. Xin các anh chị chỉ tôi. Cám ơn nhiều. Mail của tôi là: lttuduy@gmail.com
Bài này có thể dùng công thức:
- Gõ vào cell C2 công thức sau:
PHP:
=VLOOKUP(SUBTOTAL(105,$A$4:$A$38),$A$4:$E$38,5,0)
- Hoặc chính xác hơn 1 chút (tính cho trường hợp Filter = All)
PHP:
=IF(COUNT($A$4:$A$38)=SUBTOTAL(102,$A$4:$A$38),"",VLOOKUP(SUBTOTAL(105,$A$4:$A$38),$A$4:$E$38,5,0))
 

File đính kèm

Upvote 0
Tôi có danh sách các lớp từ 10A1, 10A2, 10A3. Tôi sử dụng Autofilter để chọn 1 lớp. Ví dụ: chọn lớp 10A1thì tiêu đề lớp chổ ô màu vàng hiện lên là 10A1, chọn 10A2 thì ô màu vàng hiện lên là 10A2, chọn 10A3 thì hiện lên 10A3. Tôi muốn tạo một Hàm lọc bằng VB và Add in vào để sử dụng, thì viết code như thế nào? Tôi co gửi file kèm theo. Xin các anh chị chỉ tôi. Cám ơn nhiều. Mail của tôi là: lttuduy@gmail.com
Có nhiều cách, xin chia sẻ với bạn cách này, sử dụng record macro thôi.
 

File đính kèm

Upvote 0
Có nhiều cách, xin chia sẻ với bạn cách này, sử dụng record macro thôi.
Ẹc... Ẹc... Chi mà nhiều rứa
Gữi bạn 1 code duy nhất đây:
PHP:
Sub Loc()
  Dim Crt As String
  With Sheet1.Shapes(Application.Caller)
    Crt = .TextFrame.Characters.Text
    .Parent.Range("C2").Value = Crt
  End With
  Selection.AutoFilter 1, IIf(Crt = "ALL", "<>", Crt)
End Sub
Cứ Assign macro mấy cái nút bấm ấy cho macro này là xong! 100 cái nút cũng chỉ cần 1 code thôi!
Đây chính là ưu điểm khi dùng các Object thuộc thanh Forms hoặc Shapes (ActiveX Object không có được ưu điểm này)
 

File đính kèm

Upvote 0
Cám ơn

Cám ơn bạn nhiều. bạn không hiểu ý đồ của mình rồi, chẳng lẻ 100 lớp thì phải tạo 100 nút sao. Mình gửi lại file này để bạn tham khảo. mình đã tìm được file user.xla nhưng không xem code của nó được.
 

File đính kèm

Upvote 0
Cách của bạn rất hay khỏi viết code mất công. Thanks!
 
Upvote 0
Trả lời

Cám ơn các bạn rất nhiều. Tôi thấy có bạn chỉ tôi dùng hàm Vlookup là tiện lợi hơn viết code. Mình gừi các bạn lại file này để tham khảo nhé!
 

File đính kèm

Upvote 0
lập bảng tính

Mình không rành lắm về công thức trong Macro, nhờ các anh gị giúp dùm: em muốn lấy số liệu từ bản chi tiết để đưa sang bảng tính tiền , bảng kèm theo nhờ giúp đỡ, cảm ơn nhiều
 

File đính kèm

Upvote 0
Tôi có danh sách các lớp từ 10A1, 10A2, 10A3. Tôi sử dụng Autofilter để chọn 1 lớp. Ví dụ: chọn lớp 10A1thì tiêu đề lớp chổ ô màu vàng hiện lên là 10A1, chọn 10A2 thì ô màu vàng hiện lên là 10A2, chọn 10A3 thì hiện lên 10A3. Tôi muốn tạo một Hàm lọc bằng VB và Add in vào để sử dụng, thì viết code như thế nào? Tôi co gửi file kèm theo. Xin các anh chị chỉ tôi. Cám ơn nhiều. Mail của tôi là: lttuduy@gmail.com

Bạn xem có đúng ý mình không nha!
(Em không xem kỹ lại làm giống bác sealand rồi. Hu...hu......)
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
lọc danh sach lớp

Bạn tham khảo nhé
File đính kèm
 

File đính kèm

Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom