Xin hướng dẫn tách chữ trong bảng (1 người xem)

Liên hệ QC

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

Đây là ý của em !
Với số tiết trong mẫu thì không quan trọng. Chỉ cần đưa đúng 5 tiết đầu vào là được.
Nhờ anh giúp đỡ.
 

File đính kèm

Đây là ý của em !
Với số tiết trong mẫu thì không quan trọng. Chỉ cần đưa đúng 5 tiết đầu vào là được.
Nhờ anh giúp đỡ.
Chẳng biết đây là ý tưởng tạo TKB hay là TKB đã có rối, làm những việc này để phục vụ cho mục đích khác.
Tôi thấy người ta chỉ tạo TKB dạng này thôi. Từ đó muốn lọc ra từng Gv, hạy từng lớp.... sẽ dễ dàng hơn.
TKB.JPG
TKB_GV.JPG
TKB_Lop.JPG
 
Lần chỉnh sửa cuối:
Làm tiếp, chưa đúng thì mần nữa, cho vui!
 

File đính kèm

Cảm ơn mọi người đã nhiệt tình giúp đỡ.
Mình làm cái thời khóa biểu này là để import lên website trường
đây là hình thức thời khóa biểu trên trang tra cứu thời khóa biểu trên website:
http://thpthahuytaphatinh.edu.vn/home/index.php/vi/tkblop/
thời khóa biểu lớp
http://thpthahuytaphatinh.edu.vn/home/index.php/vi/tkbgv/
thời khóa biểu giáo viên còn trong file đính kèm là mẫu mà cần làm để import lên web

Hình thức là như thế. Các anh xem giúp đỡ.
 

File đính kèm

Bạn xem trong file kèm theo

[thongbao]Nhấn 1 trong 2 nút mũi tên trong trang 'GVien' để có kết quả[/thongbao]​
 

File đính kèm

[thongbao]Nhấn 1 trong 2 nút mũi tên trong trang 'GVien' để có kết quả[/thongbao]​

Cảm ơn anh !
Như thế là cơ bản là được. nhưng em nhờ anh sắp xếp như mẫu này giúp em.
e làm mẫu của giáo viên đầu tiên
chỉ tên lớp thôi không cần phải tên giáo viên trong ô nữa .
Anh xem giúp em.
Anh hướng dẫn giúp em tách và sắp xếp với nhé!
Em cảm ơn anh nhiều.
 

File đính kèm

Lần chỉnh sửa cuối:
[ThongBao](1) Em nhờ anh sắp xếp như mẫu này giúp em. (e làm mẫu của giáo viên đầu tiên)
chỉ tên lớp thôi không cần phải tên giáo viên trong ô nữa .

(2) Anh hướng dẫn giúp em tách và sắp xếp với nhé!
Em cảm ơn anh nhiều.[/ThongBao]

(1) Bạn chép nguyên xi macro này đè lên macro cũ cùng tên:

PHP:
Sub TKBGiaoVien()
 Dim Sh As Worksheet, Cls As Range, Rng As Range, sRng As Range
 Dim MyAdd As String
 Dim jJ As Byte, Rws As Long
  
 Set Sh = ThisWorkbook.Worksheets("ThKB12")
 Rws = Sh.[c2].CurrentRegion.Rows.Count
1 'Dua Vùng Ten Giáo Vien Vo Bién:'
 Set Rng = Sh.[c2].Resize(Rws)
 For jJ = 5 To 14 Step 2
    Set Rng = Union(Rng, Sh.Cells(2, jJ).Resize(Rws))
 Next jJ
2 'Xóa Du Lieu Làn Truóc:'
 [B6].CurrentRegion.Offset(2).ClearContents
3 'Tìm Theo Danh Sách Giáo Vien:'
 For Each Cls In Sh.Range(Sh.[aa2], Sh.[aa2].End(xlDown))
    Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
    If Not sRng Is Nothing Then
        MyAdd = sRng.Address
        Do
30 'Ghi Két Qua Len Trang Tính:'
            With [A65500].End(xlUp).Offset(1)
                .Value = 1 + .Offset(-1).Value
                .Offset(, 1).Value = Cls.Value
                .Offset(, 2).Value = Sh.Cells(sRng.Row, "B").Value
                Rws = 1 + (1 + sRng.Column) \ 2
                .Offset(, Rws).Value = Sh.Cells(sRng.Row, "A").Value
            End With
            Set sRng = Rng.FindNext(sRng)
        Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
    End If
 Next Cls
4 'Sáp Xép Theo Thú Tu Ten Giao Vien(+/-) & Tiét Hoc(+):'
 Rws = [B6].CurrentRegion.Rows.Count
 [B5].Resize(Rws, 8).Sort Key1:=[B6], Order1:=[b1].Value, Key2:=[C6] _
    , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
    False, Orientation:=xlTopToBottom
End Sub

(2) Trong macro có ghi chú tối thiểu; Bạn cần được giải thích thêm fần gì rõ hơn thì ta trao đổi tiếp.

(3) Sao bạn trong ngành GD mà chưa có thói quen tốt trong câu văn, nhỉ?
 
Em có dùng hàm
=IF(THKB12!C2="*","*",TRIM(left(THKB12!C2,LEN(THKB12!C2)-FIND(" ",THKB12!C2))))
Để tách giáo viên ra. theo trình tự sắp xếp trong file tách ra có sắp xếp theo tiết từ tiết 1 đến tiết 5, và thứ 2 đến thứ 7 trên cùng 1 bảng
như trong đính kèm.

Cũng như ý em đã nói, em muốn xếp theo từng giáo viên như sau:
  • Thứ 2 thì dạy những tiết nào, của lớp nào.
  • Thứ 3 thì dạy những tiết nào, của lớp nào
  • Tương tự như thế cho các thứ còn lại

Sắp xếp cũng như trong file em đính kèm nhưng cột Lớp sẻ sắp xếp theo từng giáo viên dạy.
Ví dụ: đầu tiên là giáo viên Bình dạy tiết 1 là lớp 1A10, tiết 2 dạy 1A11, nhưng các tiết vẫn sắp xếp theo thứ tự từ trên xuống dưới là 1 đến 5.
như mẫu em làm ví dụ. file: tkbgv.xls

Các anh xem giúp.
 

File đính kèm

"Các anh xem giúp."

Riêng mình, mình đã làm việc bạn nhờ là "Xem giúp" xong rồi nha.
Sau khi xem thì mình có í kiến thế này

Lần đầu tiên mình thấy 1 CSDL mà 1 trường là gộp của 2 thành tố, như bạn đang cố bám đuổi.

Với lại 2 thành tố này bạn lại chen giữa bằng 1 lô những khoảng trống.

Thông thường người ta không làm như bạn;

Nếu bạn giữ í tưởng của mình thì cho mình góp 2 í:

(1) Chỉ cần dùng 1 kí tự không bao giờ có trong trường này để làm ngăn cách giữa 2 thành tố;
Ví dụ: 1 vài ký tự sau đây: ';', '@', '$', '#'; Thậm chí dấu chấm câu, dấu fảy, kí tự 'Z', 'W',. . . hay '|' cũng xong, nhưng fải hết sức tuân thủ việc nhập & chỉnh sửa dữ liệu.

(2) . . . . . . (Bye!)
 
Em có dùng hàm
Để tách giáo viên ra. theo trình tự sắp xếp trong file tách ra có sắp xếp theo tiết từ tiết 1 đến tiết 5, và thứ 2 đến thứ 7 trên cùng 1 bảng
như trong đính kèm.

Cũng như ý em đã nói, em muốn xếp theo từng giáo viên như sau:
  • Thứ 2 thì dạy những tiết nào, của lớp nào.
  • Thứ 3 thì dạy những tiết nào, của lớp nào
  • Tương tự như thế cho các thứ còn lại

Sắp xếp cũng như trong file em đính kèm nhưng cột Lớp sẻ sắp xếp theo từng giáo viên dạy.
Ví dụ: đầu tiên là giáo viên Bình dạy tiết 1 là lớp 1A10, tiết 2 dạy 1A11, nhưng các tiết vẫn sắp xếp theo thứ tự từ trên xuống dưới là 1 đến 5.
như mẫu em làm ví dụ. file: tkbgv.xls

Các anh xem giúp.

Với ý tưởng này không có ai giúp em được ạ?
 
[GPECODE=vb]Option Explicit

Sub locDNdic()
Application.ScreenUpdating = False
Dim listRange As Range, cell As Range, x As Integer, y As Integer, dic As Object
With Sheet1
Set listRange = .Range(.Range("c2"), .Range("h2").End(xlDown))
End With
Set dic = CreateObject("scripting.dictionary")
Range("n3:z20").ClearContents
Range("k:k").ClearContents


With dic
For Each cell In listRange
If Not .exists(cell.Value) And cell.Value <> " " Then
.Add cell.Value, ""
End If
Next
End With
If dic.Count Then [k2].Resize(dic.Count) = Application.Transpose(dic.keys)
For Each cell In listRange
If cell.Value = Range("m2").Value Then
For y = 1 To 6 Step 1
For x = 1 To 6 Step 1
If Range("m2").Offset(y, 0).Value = Range("b" & cell.Row).Value Then
If Range("m2").Offset(0, x).Value = Range("b1").Offset(0, cell.Column - 2).Value Then
Range("m2").Offset(y, x).Value = Range("a" & cell.Row)
End If
End If
Next
Next
End If
Next
Application.ScreenUpdating = True


End Sub


[/GPECODE]
Với ý tưởng này không có ai giúp em được ạ?
buồn buồn mở bài củ ra xem, sao anh này nói chuyện kỳ lạ vậy kìa, nếu tự mình có ý tưởng thì ít ra cũng làm được chút gì cho ý tưởng của mình đã chưa, đâu phải là các bậc thầy ở đây ko giúp được đâu, mà do thấy bạn có tài quá nên cảm thấy kô cần giúp thôi
minh chứng : 2 đường link dưới
Cảm ơn mọi người đã nhiệt tình giúp đỡ.
Mình làm cái thời khóa biểu này là để import lên website trường
đây là hình thức thời khóa biểu trên trang tra cứu thời khóa biểu trên website:
http://thpthahuytaphatinh.edu.vn/hom...php/vi/tkblop/
thời khóa biểu lớp
http://thpthahuytaphatinh.edu.vn/hom....php/vi/tkbgv/
thời khóa biểu giáo viên còn trong file đính kèm là mẫu mà cần làm để import lên web

Hình thức là như thế. Các anh xem giúp đỡ.

mình mới chỉ là Gà mờ thôi : minh chứng cho dòng màu xanh xanh ấy, mình xin gốp 1 bài cho zui, 12345.jpg
nếu mình đoán ko nhầm thì ý bạn 99.99%là vậy tham khảo file đính kèm:
 

File đính kèm

Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom