Anh, chị giúp xem code điểm danh học sinh vắng học trên google Meet

Liên hệ QC

lebanhan113

Thành viên mới
Tham gia
5/1/20
Bài viết
32
Được thích
5
Em muốn dựa vào 9 kí tự đầu tiên (D6) của Sheet1 dò với 9 kí tự đầu tiên (A7) của Sheet2. Nếu chưa khớp em nào thì sẽ điền vào cột E của Sheet 1 vắng.
Code của em:
Option Explicit
Sub Diem_Danh()
'Phan khai bao bien
Dim DsHs(), i As Long, MeetHS(), Ma_So As Long, tmp As String, Lop As String
'On Error Resume Next
With Sheets("Sheet1")
DsHs = .Range("A6", .Range("A65536").End(3)).Resize(, 4).Value 'lay DS HS
End With
With Sheets("Sheet2")
MeetHS = .Range("A7", .Range("A65536").End(3)).Resize(, 5).Value 'Lay du lieu de xu ly
End With
For i = 1 To UBound(MeetHS) ' duyet tung dong cua du lieu Chat
If MeetHS(i, 1) = Lop Then 'neu cot 2 dung ten lop
If MeetHS(i, 2) <> Empty Then 'neu cot 4 co du lieu
tmp = MeetHS(i, 4)
tmp = Right(Left(tmp, 10), 2)
'Ma_So = TachSo(tmp)
DsHs(Ma_So, 4) = "V"
End If
End If
Next
Sheets("Sheet1").Range("A6").Resize(UBound(DsHs), UBound(DsHs, 2)) = DsHs
MsgBox "Da Xong.", 64
End Sub


01.png02.png
Bài đã được tự động gộp:

Hoàng Tuấn 868.​

Anh xem giúp em với.​

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

@Hoàng Tuấn 868.​

Anh xem giúp em với.​

hihi. cứ phải anh ấy mới được giúp hả bạn?
Thử code này xem đúng ý bạn không
Mã:
Sub ABC()
    Dim Arr(), Dic As Object, i&
    Set Dic = CreateObject("scripting.dictionary")
    With Sheets("Sheet2")
        Arr = .Range("A7", .Range("A65536").End(3)).Value
    End With
    For i = 1 To UBound(Arr, 1)
        If Dic.exists(Left(Arr(i, 1), 9)) = False Then
            Dic.Add Left(Arr(i, 1), 9), ""
        End If
    Next
    With Sheets("Sheet1")
        .Range("E6:E1000").ClearContents
        Arr = .Range("A6", .Range("B65536").End(3)).Resize(, 5).Value
       
    End With
    For i = 1 To UBound(Arr, 1)
        If Dic.exists(Left(Arr(i, 4), 9)) = False Then
            Arr(i, 5) = "V"
        End If
    Next
   
    Sheets("Sheet1").Range("A6").Resize(UBound(Arr, 1), UBound(Arr, 2)).Value = Arr
End Sub
 
@BuiQuangThuan Không phải vậy anh. Cảm ơn anh nhiều.
Bài đã được tự động gộp:

Cảm ơn anh đã giúp đỡ. Chạy ngon lành cành đào luôn rồi anh.
 
Lần chỉnh sửa cuối:
@BuiQuangThuan Cảm ơn anh đã nhắc nhỡ, em sẽ rút kinh nghiệm. Code chạy ngon và nhanh. Code chạy 1 lớp thì tuyệt đỉnh luôn. Còn nhiều lớp, mà lớp ở cuối. Ngồi kéo chuột là hết ngày luôn.

Anh ơi: Ví dụ, mình đưa code của lớp 11A1 thì danh sách học sinh lớp đó hiện lên, còn các lớp khác thì không cần hiện lên được không anh?
Bài đã được tự động gộp:

@VetMini Em cảm ơn anh đã nhắc nhỡ
 
@BuiQuangThuan Cảm ơn anh đã nhắc nhỡ, em sẽ rút kinh nghiệm. Code chạy ngon và nhanh. Code chạy 1 lớp thì tuyệt đỉnh luôn. Còn nhiều lớp, mà lớp ở cuối. Ngồi kéo chuột là hết ngày luôn.

Anh ơi: Ví dụ, mình đưa code của lớp 11A1 thì danh sách học sinh lớp đó hiện lên, còn các lớp khác thì không cần hiện lên được không anh?
Bạn hãy sửa lại tiêu đề cho đúng nội quy rồi mình sẽ tính tiếp nhé
 
Em muốn dựa vào 9 kí tự đầu tiên (D6) của Sheet1 dò với 9 kí tự đầu tiên (A7) của Sheet2. Nếu chưa khớp em nào thì sẽ điền vào cột E của Sheet 1 vắng.
Code của em:
Option Explicit
Sub Diem_Danh()
'Phan khai bao bien
Dim DsHs(), i As Long, MeetHS(), Ma_So As Long, tmp As String, Lop As String
'On Error Resume Next
With Sheets("Sheet1")
DsHs = .Range("A6", .Range("A65536").End(3)).Resize(, 4).Value 'lay DS HS
End With
With Sheets("Sheet2")
MeetHS = .Range("A7", .Range("A65536").End(3)).Resize(, 5).Value 'Lay du lieu de xu ly
End With
For i = 1 To UBound(MeetHS) ' duyet tung dong cua du lieu Chat
If MeetHS(i, 1) = Lop Then 'neu cot 2 dung ten lop
If MeetHS(i, 2) <> Empty Then 'neu cot 4 co du lieu
tmp = MeetHS(i, 4)
tmp = Right(Left(tmp, 10), 2)
'Ma_So = TachSo(tmp)
DsHs(Ma_So, 4) = "V"
End If
End If
Next
Sheets("Sheet1").Range("A6").Resize(UBound(DsHs), UBound(DsHs, 2)) = DsHs
MsgBox "Da Xong.", 64
End Sub


View attachment 269335View attachment 269336
Bài đã được tự động gộp:

Hoàng Tuấn 868.​

Anh xem giúp em với.​

Không phải mình không muốn giúp bạn, nhưng như lần trước đã nói là bạn tự viết code đi, nếu chưa ổn thì gửi lên các thành viên sẽ giúp trong khả năng, bạn lại đi xin code ở diễn đàn khác rồi về đây nhờ sửa nên ...Hơi buồn.
 
@Hoàng Tuấn 868 Code này không có của diễn đàn nào anh. Code này file cũ của em.
Em cảm ơn các anh, chị đã giúp đỡ. Xin lỗi vì đã làm phiền các anh chị. Code quá đẹp.
@BuiQuangThuan Cảm ơn sự giúp đỡ của anh nhiều.
 
Lần chỉnh sửa cuối:
Theo tôi nghĩ, vì bạn này là giáo viên dạy Hoá và đang dạy online nên cần một số công cụ hỗ trợ cho công việc thống kê học sinh của mình. Đây là những giải pháp tức thời trong thời điểm dạy học hiện tại nên nếu kêu bạn ấy tự học code VBA thì chắc đến khi hết dạy online, học sinh đi học lại rồi, làm cũng chưa ra. Do vậy, bạn nào hỗ trợ được thì hỗ trợ giùm thôi.
 
@ongke0711 anh, chị giúp đỡ quá nhiệt tình rồi. Code ngon lành cành đào rồi anh. Em cũng mò học vba từ từ mà chưa hiểu.
 
Web KT

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

Back
Top Bottom