Tự đóng khung và thêm ghi chú cho danh sách lọc? (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

nqdn2010

Optimal Сasual Dating - Actual Girls
Tham gia
22/2/12
Bài viết
267
Được thích
15
Giới tính
Nam
Nghề nghiệp
Health
Tôi có một sheet DS, tôi muốn lọc những em đủ ĐK lên lớp qua sheet LL, Tuy nhiên với yêu cầu, Hệ thống tự động đóng khung tới em cuối cùng thì dừng và kèm theo ghi chú, Chữ ký BGH,. . .
Tôi có gởi tập tin đính kèm.
Tôi làm mãi nhưng không hiệu quả; mong các thầy chia sẻ, Tôi cám ơn!
 

File đính kèm

Tôi có một sheet DS, tôi muốn lọc những em đủ ĐK lên lớp qua sheet LL, Tuy nhiên với yêu cầu, Hệ thống tự động đóng khung tới em cuối cùng thì dừng và kèm theo ghi chú, Chữ ký BGH,. . .
Tôi có gởi tập tin đính kèm.
Tôi làm mãi nhưng không hiệu quả; mong các thầy chia sẻ, Tôi cám ơn!
Muốn tự động thì bạn cần phải dùng đến VBA. Chẳng hạn thế này:
[GPECODE=vb]Sub LocDS()
Dim Tmp, Arr(), i As Long, j As Long, k As Long, Nam As Long
Tmp = Sheets("DS").[B4:H23]
ReDim Arr(1 To UBound(Tmp), 1 To 7)
For i = 1 To UBound(Tmp)
If Left(Tmp(i, 7), 1) = "L" Then
k = k + 1
Arr(k, 1) = k
For j = 2 To 7
Arr(k, j) = Tmp(i, j)
Next
End If
If Tmp(i, 4) = "Nam" Then Nam = Nam + 1
Next
With Sheets("LL")
.[B4:H1000].Clear
With .[B4].Resize(k, 7)
.Value = Arr
.Borders.LineStyle = 1
End With
.[D4].Resize(k).NumberFormat = "dd/MM/yyyy"
.[B4].Offset(k + 1) = "Ghi chú: Trong danh sách có: " & k & " em " & ChrW(273) & ChrW(432) & ChrW(7907) & _
"c lên l" & ChrW(7899) & "p, trong " & ChrW(273) & "ó có " & Nam & " nam, " & k - Nam & " n" & ChrW(7919) & "."
.[F4].Offset(k + 2) = "Ký duy" & ChrW(7879) & "t c" & ChrW(7911) & "a BGH"
End With
End Sub[/GPECODE]
Bài này có thể sử dụng AdvancedFilter để giải quyết được, tuy nhiên tôi thử dùng Array xem nó ra sao.
 

File đính kèm

Upvote 0
làm bằng Advanfilter

tham gia góp vui chút xíu. thay đổi code cho phù hợp với công việc.
 

File đính kèm

Upvote 0
Cám ơn anh nhiều & đúng yêu cầu của tôi; Tôi nghiên cứu học hỏi tiếp, khi có gì nhờ anh chỉ giáo tiếp nhé!

Hệ thống tự động đóng khung em cuối cùng trong DS được lên lớp, thêm ghi chú thể hiện, chữ ký BGH, . . .

Bạn có thể giảm bớt những hành vi này bằng cách cho ẩn những dòng không dữ liệu đi thôi;

Cách làm như sau:

(*) Bạn đẩy các dòng sau dòng 15 ở trang tính 'LL' đến dòng bằng với dòng cuối chứa dữ liệu của trang 'DS'

(*) Định dạng các dòng theo iêu cầu kẻ khung, . . . tất cả các dòng này;

(*) Sau khi đổ dữ liệu vô 'LL', ta chỉ việc cho ẩn các dòng kẻ khung nhưng không chứa dữ liệu đi thôi.


Chúc vui!
 
Upvote 0
tham gia góp vui chút xíu. thay đổi code cho phù hợp với công việc.
Cám ơn bạn! chia sẻ, Tôi tham một chút, Tôi đã cải tiến thêm Sheet DS, và đã lọc mẫu qua Sheet LL, Danh sách được sắp xếp theo Giỏi => HSTT (Tập tin đính kèm).
Đối với tôi khó quá, Cả đêm dọc nhức cả đầu mà chả ra đúng như ý. Mong các thầy chỉ giáo. Tôi cám ơn!

Bạn có thể giảm bớt những hành vi này bằng cách cho ẩn những dòng không dữ liệu đi thôi;

Cách làm như sau:

(*) Bạn đẩy các dòng sau dòng 15 ở trang tính 'LL' đến dòng bằng với dòng cuối chứa dữ liệu của trang 'DS'

(*) Định dạng các dòng theo iêu cầu kẻ khung, . . . tất cả các dòng này;

(*) Sau khi đổ dữ liệu vô 'LL', ta chỉ việc cho ẩn các dòng kẻ khung nhưng không chứa dữ liệu đi thôi.

Tôi không hiểu ý bạn, Ở đây Sheet DS có thể thêm số HS tùy ý có thể vài trăm hoặc ngàn. Cám ơn sự chia sẻ của bạn!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Tôi không hiểu ý bạn, Ở đây Sheet DS có thể thêm số HS tùy ý có thể vài trăm hoặc ngàn. Cám ơn sự chia sẻ của bạn!

file cho bạn khả năng lọc danh sách từ 600 em HS

Bạn có thể lọc ra 2 danh sách, khi bạn chọn từ [L1] của 'LL"
 

File đính kèm

Upvote 0
file cho bạn khả năng lọc danh sách từ 600 em HS

Bạn có thể lọc ra 2 danh sách, khi bạn chọn từ [L1] của 'LL"

Cách của anh kết hợp rất hay, Anh giải thích cho tôi code này nhé, tôi không hiểu sự liên quan của nó (Tôi tự học và chấp nối các VBA, nên tệ vô cùng nhưng lại rất thích sử dụng VBA)
Sh.[b4].CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sh.Range( _ "AH1:AH2"), CopyToRange:=Sh.Range("AA3:AJ3"), Unique:=False
Sh.[ab4].CurrentRegion.Offset(3).Copy Destination:=[c4]
 
Upvote 0
Cách của anh kết hợp rất hay, Anh giải thích cho tôi code này nhé, tôi không hiểu sự liên quan của nó (Tôi tự học và chấp nối các VBA, nên tệ vô cùng nhưng lại rất thích sử dụng VBA)

PHP:
Sh.[b4].CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sh.Range( _ "AH1:AH2"), CopyToRange:=Sh.Range("AA3:AJ3"), Unique:=False
Sh.[ab4].CurrentRegion.Offset(3).Copy Destination:=[c4]

Sh là tên của 1 biến đối tượng mà ta đã khai báo; (& ở trên ta đã gán vô nó đối tượng là trang tính 'DS')

Sh.[b4].CurrentRegion là vùng các ô xung quanh [B4] (của trang Sh) có dữ liệu
(Thực tế đây là toàn bộ CSDL của bạn về các em HS)

. . ..AdvancedFilter Action:=xlFilterCopy, là ta áp dụng fương thức lọc mở rọng với vùng này theo vùng chuẩn là Sh.Range( _ "AH1:AH2") & thể hiện kết quả lên vùng Sh.Range("AA3:AJ3")

Sh.[ab4].CurrentRegion : Như đã nói trên;

Sh.[ab4].CurrentRegion.Offset(3): Vùng dữ liệu đem bỏ đi 3 dòng đầu

Nghĩa của dòng lệnh này là vùng dữ liệu (đã bỏ đi 3 dòng đầu) copy đem sang ô đích là [C4] trang tính ta đang 'Đứng'

Chúc vui!
 
Upvote 0
Cám ơn anh HYen17 chỉ giáo; Chỉ tôi tiếp nhé, Tôi muốn List ở ô L1 thêm Lọc DHTĐ những em đạt HSTT và HSG theo thứ tự HSG => HSTT thì làm sao hả anh. Cuối tuần vui khỏe
 
Upvote 0
[Thongbao]Cám ơn đã chỉ giáo;
Chỉ tôi tiếp nhé, Tôi muốn List ở ô L1 thêm Lọc DHTĐ những em đạt HSTT và HSG theo thứ tự HSG => HSTT thì làm sao hả anh. Cuối tuần vui khỏe
[/ThongBao]

Iêu cầu chỉ là bốn;

/(huyến mãi bạn thêm 1 nữa luôn!
 

File đính kèm

Upvote 0

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

Back
Top Bottom