Trích xuất Thời khóa biểu (1 người xem)

Liên hệ QC

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

titanic20072007

Thành viên thường trực
Tham gia
10/7/07
Bài viết
217
Được thích
8
Nghề nghiệp
Giáo viên
Trường xem có TKB xếp bằng tay trong excel nhưng nhà trường yêu cầu từ TKB đó phải đưa ra TKB cho từng giáo viên và từng lớp.
Nếu làm thủ công thì lâu quá. Em thì lại không biết nhiều về excel +-+-+-+ nên không biết lập hàm và công thức để làm cho nhanh.
Nhờ các bác xem và giúp với. Cảm ơn các bác.
 

File đính kèm

Trường xem có TKB xếp bằng tay trong excel nhưng nhà trường yêu cầu từ TKB đó phải đưa ra TKB cho từng giáo viên và từng lớp.
Nếu làm thủ công thì lâu quá. Em thì lại không biết nhiều về excel +-+-+-+ nên không biết lập hàm và công thức để làm cho nhanh.
Nhờ các bác xem và giúp với. Cảm ơn các bác.
Bài này làm bằng công thức thì hơi rắc rối, đằng nào thì bạn cũng không biết, làm cho bạn bằng VBA cho gọn
Bạn kiểm tra giúp mình nhé
Thân
Cách làm: Chọn Tên giáo viên, Lớp trong cái ô màu vàng vàng í rồi...đừng làm gì nữa, chỉ kiểm tra xem đúng hông thôi
 

File đính kèm

Lần chỉnh sửa cuối:
Cảm ơn bạn rất nhiều. Mình đã chạy thử và thấy rất chính xác.
Nếu bạn có thể giúp mình thêm một chút không?
Trả là thế này trường minh có một trang web mình muốn đưa tkb lên trang web của trường và để tiện cho hs và mọi người xem tkb thì mình định sau khi trích đc theo lớp và gv thì tạo ra thành hai tệp: tệp tkb các lớp có tkb toàn trường và tkb của tất cả các lớp (mỗi lớp trong một sheet) và tệp kia cũng gồm tkb toàn trường và tkb của từng gv (mỗi gv ở trên một sheet). Bạn có thể lập trình để khi nhấn nút trích xuất thì chương trình sẽ tạo ra hai tệp kia trên ổ đĩa được không? Cảm ơn bạn nhiều.(xin lỗi vì đã được voi đòi tiên)
 
Mình thấy trong diện đàn có một bạn tách dữ liệu thành nhiều tệp nên nếu tkb của mình cũng làm được như vậy thì đỡ phải làm thủ công. Mong bạn nghiên cứu giúp mình nhé. Cảm ơn bạn.
 
Lần chỉnh sửa cuối:
Trường bạn có 1 thầy tên là thủy & 1 cô tên là thuỷ

Fải vậy hôn?

--=0 --=0 --=0 --=0
 

File đính kèm

Cảm ơn bạn đã giúp. Kết quả trích xuất của bạn rất gọn, đã bỏ được cột tên gv. Không trường minh chỉ có cô thủy chứ không có thầy thủy. Bạn có thể tách thành hai tệp trích xuất một tệp là tkb của từng lớp moiix lớp trên một sheet cong tệp kia là tkb của gv mỗi gv trên một sheet không. mình rất cần chứ làm thủ công lâu quá. Cảm ơn bạn.
 
/(hông fải là đã bỏ được danh sách giáo viên đâu, nó còn thêm cột nữa là đằng khác!. . .

Còn muốn tách làm 2 file thì mình có thể giúp tạo 1 file với đầy đủ cả 2 iêu cầu, sau đó copy thành 2 & giảm biên chế trong mỗi file các trang dôi dư là được?

Nhưng chời đi, . . . .
 
Cảm ơn bạn rất nhiều. Mình đã chạy thử và thấy rất chính xác.
Nếu bạn có thể giúp mình thêm một chút không?
Trả là thế này trường minh có một trang web mình muốn đưa tkb lên trang web của trường và để tiện cho hs và mọi người xem tkb thì mình định sau khi trích đc theo lớp và gv thì tạo ra thành hai tệp: tệp tkb các lớp có tkb toàn trường và tkb của tất cả các lớp (mỗi lớp trong một sheet) và tệp kia cũng gồm tkb toàn trường và tkb của từng gv (mỗi gv ở trên một sheet). Bạn có thể lập trình để khi nhấn nút trích xuất thì chương trình sẽ tạo ra hai tệp kia trên ổ đĩa được không? Cảm ơn bạn nhiều.(xin lỗi vì đã được voi đòi tiên)
Bác COGIA, SA-DQ lọc chuẩn quá roài, song tiện việc in nhiều lớp, nhiều GV thì bạn tham khảo file sau:
Hãy nhập PCCM, nhập DSGV, và coppy lại phần Xếp TKB vào file này thử coi!
Vì số lớp trường bạn giống trường mình quá!
Chúc vui!
 

File đính kèm

Lần chỉnh sửa cuối:
/(hông fải là đã bỏ được danh sách giáo viên đâu, nó còn thêm cột nữa là đằng khác!. . .

Còn muốn tách làm 2 file thì mình có thể giúp tạo 1 file với đầy đủ cả 2 iêu cầu, sau đó copy thành 2 & giảm biên chế trong mỗi file các trang dôi dư là được?

Nhưng chời đi, . . . .
Bạn ơi ý mình là từ tệp TK bieu goc.xls tách ra thành hai tệp:
- Tệp Trich TKB gv.xls
- Tệp Trich TKB lop.xls
Mình có gửi tệp mẫu đây
 

File đính kèm

Chỉ làm đến đây thôi & còn lại bạn làm bắng tay thôi

Có vài điều mà mình tự đưa ra làn ranh & . . . .

(Bạn chọn 1 trong 2 fương án tại [Y1] của trang "TKB" & xem kết quả )
 

File đính kèm

Có vài điều mà mình tự đưa ra làn ranh & . . . .

(Bạn chọn 1 trong 2 fương án tại [Y1] của trang "TKB" & xem kết quả )
Cảm ơn bạn đã làm giúp. Nhưng sao mình chạy trích xuất theo giáo viên hoặc hs thì nó đều không trích xuất thứ 2 và thứ 7 mà bắt đầu từ thứ 3 đến thứ 6 thôi. Bạn xem và chỉnh lại giúp mình với.
 
Nhưng sao mình chạy trích xuất theo giáo viên hoặc hs thì nó đều không trích xuất thứ 2 và thứ 7 mà bắt đầu từ thứ 3 đến thứ 6 thôi.

Bạn xem và chỉnh lại: Thay vì dòng lệnh
Mã:
'            Sh.[A3].Resize(7, 8).Value = sRng.Offset(, -5).Resize(7, 8).Value
ta chép đè dòng này lên nớ:
PHP:
           sRng.Offset(, -7).Resize(7, 13).Copy Destination:=Sh.[A3]

Câu lệnh này sẽ copy 1 fần định dạng sang luôn, giảm fần nào chỉnh sửa tiếp sau
 
Bạn xem và chỉnh lại: Thay vì dòng lệnh
Mã:
'            Sh.[A3].Resize(7, 8).Value = sRng.Offset(, -5).Resize(7, 8).Value
ta chép đè dòng này lên nớ:
PHP:
           sRng.Offset(, -7).Resize(7, 13).Copy Destination:=Sh.[A3]

Câu lệnh này sẽ copy 1 fần định dạng sang luôn, giảm fần nào chỉnh sửa tiếp sau
Cảm ơn bạn mình đã thay như bạn nói kết quả là đã ra kèm cả định dạng và đầy đủ từ thứ hai đến thứ 7. Bạn ơi có thể chỉnh giúp mình là khi trích ra tkb cho từng gv thì cột ngày thứ 2 lại không hiện thứ 2 mà hiện tên của gv đầu tiên trong danh sách và ngoài việc đưa ra môn dạy thì tương ứng với cả lớp được không. Vì tkb này minh đưa lên web của trường để phụ huynh và hs xem họ muốn biết thầy cô này dạy những môn gì và ở những lớp nào. Cảm ơn bạn.
 
Lần chỉnh sửa cuối:
Bạn ơi có thể chỉnh giúp mình là khi trích ra tkb cho từng gv (2) thì cột ngày thứ 2 lại không hiện thứ 2 mà hiện tên của gv đầu tiên trong danh sách và (1) ngoài việc đưa ra môn dạy thì tương ứng với cả lớp được không.

(1) Bạn tìm đâu đó trong macro câu lệnh
Mã:
         Cells(Rws, Col).Value = sRng.Offset(, -1).Value

Bạn thêm thành câu lệnh như sau:
PHP:
 Cells(Rws, Col).Value = sRng.Offset(, -1).Value & " - " & Cells(3, sRng.Column - 1).Value

& chọn thử 1 giáo viên nào đó ở ô [I41] thấy kết quả đúng là được.

(2) Bạn sửa lại nội dung tại [C42] là được, vì trong lần thử nghiệm thất bại nào đó, tên 'Chiến' đã nhảy vô thế chỗ & ở lì đó luôn, khà, khà,. . .
 
(1) Bạn tìm đâu đó trong macro câu lệnh
Mã:
         Cells(Rws, Col).Value = sRng.Offset(, -1).Value

Bạn thêm thành câu lệnh như sau:
PHP:
 Cells(Rws, Col).Value = sRng.Offset(, -1).Value & " - " & Cells(3, sRng.Column - 1).Value

& chọn thử 1 giáo viên nào đó ở ô [I41] thấy kết quả đúng là được.

(2) Bạn sửa lại nội dung tại [C42] là được, vì trong lần thử nghiệm thất bại nào đó, tên 'Chiến' đã nhảy vô thế chỗ & ở lì đó luôn, khà, khà,. . .
Cảm ơn bạn mình đã thay và chạy thấy ok. Nhưng bạn ơi sao mình cho nhieuf hơn 24 gv thì những gv thêm đó không trích ra tkb của họ được mình xem code rồi nhưng không hiểu chỉnh chỗ nào để có thể tăng số gv nên thì chương trình vẫn trích xuất được. Bạn chỉ cho mình với.
 
. . . Nhưng bạn ơi sao mình cho nhiều hơn 24 gv thì những gv thêm đó không trích ra tkb của họ được mình xem code rồi nhưng không hiểu chỉnh chỗ nào để có thể tăng số gv nên thì chương trình vẫn trích xuất được. Bạn chỉ cho mình với.

/(hà, khà,. . . Biết ngay từ đầu là sẽ sẩy ra vấn đề này mà; Để giải quyết việc này, ta cần thực hiện chí ít 2 bước sau:

(1) Bạn thấy trong CS (cửa sổ) VBE mình có để sẵn 1 con macro dùng để lập danh sách duy nhứt GV (giáo viên) trong trường;
Trước tiên bạn fải chạy macro này để nó lập cho bạn DSGV duy nhứt mà chúng ta cần;
Nhưng cũng cần dừng lại để nói thêm là do bạn đã nhập sai chính tả nên có GV tên là Thủy & cả GV tên là Thuỷ( Ngoài ra còn 1 trường hợp tương tơ nữa trong nớ mà chuyện fát hiện tiếp là chuyện của bạn.) (ó nghĩa là sau khi chạy macro xong, bạn đến cột chứa DSGV duy nhứt & kiểm để sửa lại bằng tay cho đúng) (Để khỏi fải làm việc chán chường này thì bạn fải xoát xét tất tần tật DSGV trong bảng fân công tiết dạy trong toàn trường. Việc này để đảm bảo rằng không sai chính tả
(Nói thêm, bạn đừng nói là bạn đang dạy học sinh môn văn đó nha!)

(2) chuyện còn lại là bạn thêm 1 trang tính & khỏi gán tên cho trang tính mới này, vì macro sự kiện sẽ làm thay & không tồi hơn bạn!
Trước đây mình đã cố tình để dư 1 trang tính & chương trình luôn đổ tên trang này sau mỗi lần chạy về thành trang 'S24'. Bạn xem trang tính đó còn không?
& nhứt thiết khi cần thêm 1 giáo viên mới thì thêm 1 trang tính mới.

(húc thành công trong ngày!

Thân ái!
 
/(hà, khà,. . . Biết ngay từ đầu là sẽ sẩy ra vấn đề này mà; Để giải quyết việc này, ta cần thực hiện chí ít 2 bước sau:

(1) Bạn thấy trong CS (cửa sổ) VBE mình có để sẵn 1 con macro dùng để lập danh sách duy nhứt GV (giáo viên) trong trường;
Trước tiên bạn fải chạy macro này để nó lập cho bạn DSGV duy nhứt mà chúng ta cần;
Nhưng cũng cần dừng lại để nói thêm là do bạn đã nhập sai chính tả nên có GV tên là Thủy & cả GV tên là Thuỷ( Ngoài ra còn 1 trường hợp tương tơ nữa trong nớ mà chuyện fát hiện tiếp là chuyện của bạn.) (ó nghĩa là sau khi chạy macro xong, bạn đến cột chứa DSGV duy nhứt & kiểm để sửa lại bằng tay cho đúng) (Để khỏi fải làm việc chán chường này thì bạn fải xoát xét tất tần tật DSGV trong bảng fân công tiết dạy trong toàn trường. Việc này để đảm bảo rằng không sai chính tả
(Nói thêm, bạn đừng nói là bạn đang dạy học sinh môn văn đó nha!)

(2) chuyện còn lại là bạn thêm 1 trang tính & khỏi gán tên cho trang tính mới này, vì macro sự kiện sẽ làm thay & không tồi hơn bạn!
Trước đây mình đã cố tình để dư 1 trang tính & chương trình luôn đổ tên trang này sau mỗi lần chạy về thành trang 'S24'. Bạn xem trang tính đó còn không?
& nhứt thiết khi cần thêm 1 giáo viên mới thì thêm 1 trang tính mới.

Mình đã chỉnh lại dữ liệu chuẩn rồi và làm như bạn bảo tạo thêm 3 sheet trắng để thêm 3 gv nữa thì trich tkb gv được nhưng khi trích tkb cho lớp sao không ra lơp 9c
Bạn xem giúp minh đây là dũ liệu chuẩn của nam nay. Cảm ơn bạn.
 

File đính kèm

Lần chỉnh sửa cuối:
Tại bạn tấy máy đó thôi!

Câu lệnh người ta đang ngon lành là
PHP:
   Set Rng = [B3].Resize(2, 25)

Bạn sửa giảm đi 1 đơn vị thì làm sao tìm ra lớp cuối được;

Lí ra bạn fải chịu fạt 1 chầu đó nha, mất hết thời giờ!

Thôi, để ngủ ngon, bạn thêm thành 253 luôn đi; Chậm nhanh thay kệ nó!
 
Câu lệnh người ta đang ngon lành là
PHP:
   Set Rng = [B3].Resize(2, 25)

Bạn sửa giảm đi 1 đơn vị thì làm sao tìm ra lớp cuối được;

Lí ra bạn fải chịu fạt 1 chầu đó nha, mất hết thời giờ!

Thôi, để ngủ ngon, bạn thêm thành 253 luôn đi; Chậm nhanh thay kệ nó!
Xin lỗi bạn.
Nếu bạn ở Hà Nam thì mình sẽ làm một chầu. Nhưng vẫn còn một lỗi nữa mà lỗi này chắc không phải do mình táy máy là ở tkb của các lớp khi trích ra đáng lẽ tiết 1 ngày thứ 2 tất cả các lớp là chào cờ thì lại bị mất. Hôm trước mình test chưa kỹ. Bạn xem lại giúp mình nhé. Chắc xong lỗi này là ngủ ngon rồi. hi hi
 
/-)úng là bạn không tấy máy, nhưng lại tội diêm dúa quá đó mà!

Ai đời chưa đống bộ đã trang điểm: Trôn hết các ô của mục chào cờ làm một thì chả có VBA ma nào (hay siêu công thức đi chăng nữa) lấy vào hay vơ vào đâu;

Mà bữa trước cũng vì cái này mà fải tìm cách tách riêng nó ở câu lệnh điều kiện riêng

Giờ thì bạn chọn cách nào sau đây:

(*) Bỏ trộn ô chào cờ & chỉnh lại macro

(*) Vẻ thêm tiết chào cờ i chang vậy vô các trang tính các thầy cô?

Nhưng nói trước cách sau thì hơi lâu à nha!

Cho mình gởi lời thăm ChiBi nha, cùng tỉnh fải không! /-)ã lâu không thấy bóng dáng thư sinh này trên diễn đàn; Hay bỏ nghề sang Du lịch rồi không chừng?!

 
Web KT

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

Back
Top Bottom