Cần giúp đỡ giaỉ quyết đoạn mã này cho gọn và chuyên nghiệp hơn

Liên hệ QC

kiencang76

Thành viên mới
Tham gia
18/8/09
Bài viết
40
Được thích
10
Nghề nghiệp
Quản lý
Chào GPE!
mình đang viết một bảng phân công lịch hàng tháng. Cơ bản hoàn thành 80 % yêu cầu và đạt mục đich chính. Song, cảm thấy có gì đó chua chuẩn các và rườm rà.
Mong mọi ngowì xem và giúp đỡ.
Yêu cầu chính của nó như sau:
1 - Tự động điền số ngày, thứ tương ứng với ô L4 (tháng phân công lịch): cái này mình dùng định dạng có điều kiện
2- Tự điền lịch phân công sau khi đã phân công lịch cho 3 người ở range B7:D9
3- Ẩn các cột trống khi các ô tương ứng trong range AD5:AF5 là rỗng
Mã:
Sub dienlich()
            
      Range("B7:D9").Select
      Selection.AutoFill Destination:=Range("B7:AF9"), Type:=xlFillDefault
            If Range("AD5") = "" Then
               Columns("AD:AF").Select
               Selection.EntireColumn.Hidden = True
            ElseIf Range("AE5") = "" Then
               Columns("AE:AF").Select
               Selection.EntireColumn.Hidden = True
            Else
                Range("AF5") = ""
                Columns("AF:AF").Select
               Selection.EntireColumn.Hidden = True
           End If
    
         Range("B7").Select
    End Sub
một số thắn mắc cần càn bạn giúp đỡ:
1- Câu lệnh IF then Else ở trên có thể dùng các nào gọn hơn được không, có thể dùng vòng lặp for được hay không? cách dùng.
2- Nếu không dùng "định dạng có điều kiện"-conditional formatting mà dùng câu lệnh trong VBA như thế nào?
3- khi phân công lịch có cách nào để tự động luôn không (khỏi phải kích vào "Điền lịch"
trân trọng cảm ơn!
 

File đính kèm

  • lich PC truc thu nghiem.xlsm
    26 KB · Đọc: 6
Web KT
Back
Top Bottom