Kẻ bảng có điều kiện và thêm danh sách theo điều kiện

Liên hệ QC

ducvietgdtc

Thành viên chính thức
Tham gia
20/12/15
Bài viết
52
Được thích
0
Câu 1 : Mình muốn kẻ bảng với số lượng dòng được ấn định trước
Câu 2 : Mình muốn thêm danh sách học sinh với điều kiện là khối lớp nào thì thêm vào khối lớp đó
(có bảng ví dụ kèm theo) cảm ơn mọi người đã hỗ trợ
 

File đính kèm

  • ke bảng theo số lượng định trước.xlsm
    25.6 KB · Đọc: 7
Câu 1 : Mình muốn kẻ bảng với số lượng dòng được ấn định trước
Câu 2 : Mình muốn thêm danh sách học sinh với điều kiện là khối lớp nào thì thêm vào khối lớp đó
(có bảng ví dụ kèm theo) cảm ơn mọi người đã hỗ trợ
Thực hiện ý tưởng của bạn thì được, nhưng trong thực tiễn thì không phù hợp lắm, bạn thử nghiên cứu cách khác xem sao.
 
Upvote 0
Câu 1 : Mình muốn kẻ bảng với số lượng dòng được ấn định trước
Câu 2 : Mình muốn thêm danh sách học sinh với điều kiện là khối lớp nào thì thêm vào khối lớp đó
(có bảng ví dụ kèm theo) cảm ơn mọi người đã hỗ trợ
Góp ý cho bạn:
1/ Nếu sử dụng UserForm để nhập liệu thì phải nhập liền lạc từ trên xuống dưới chứ không có vụ nhập theo lớp với khoảng trống.
2/ Để nhập liệu nhanh thì phải có 1 sheet chứa danh mục các lớp. Nếu không có danh mục các lớp thì Excel không thể nào hiểu được học sinh vừa thêm thuộc đơn vị lớp nào?
3/ Để in danh sách từng lớp thì thêm code tách lớp hoặc sử dụng 1 sheet để lọc.
 
Upvote 0
Làm thử 1 code, không khó như người ta tưởng. Tuy nhiên:
- Nên dùng 1 userform vì control trên sheet không tab hay enter được.
- Không cần nút kẻ bảng
- Có danh sách lớp theo thứ tự
- Lớp nào chưa có HS cũng tạo sẵn 1 dòng như sheet DSHS
- Để nguyên chữ "Hết", vì đó là code ăn gian
PHP:
Sub Them()
Dim Rw As Long, NextSTT As Long
With Sheet1
    If .TxtHoten = "" Or .TxtNSinh = "" Or .CbbLop = "" Then
        MsgBox "Phai dien du thong tin", , "ptm0412"
        Exit Sub
    Else
        If .Range("NextRw").Offset(-1, -2) = "" Then
            Rw = .Range("NextRw").Row - 1
            NextSTT = 1
        Else
            Rw = .Range("NextRw").Row
            NextSTT = .Cells(Rw - 1, 1) + 1
            .Range("NextRw").EntireRow.Insert
        End If
            .Cells(Rw, 1) = NextSTT
            .Cells(Rw, 2) = .TxtHoten
            .Cells(Rw, 3) = Val(.TxtNSinh)
            .Cells(Rw, 4) = .[I1]
            .TxtHoten = ""
            .TxtNSinh = ""
            .CbbLop = ""
    End If
    Rw = .[D10000].End(xlUp).Row
    .Range("A3:E" & Rw).Borders.LineStyle = 1
End With
End Sub
 

File đính kèm

  • Nhaplieu.xlsm
    32.7 KB · Đọc: 9
Upvote 0
Web KT

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

Back
Top Bottom