Hỏi về tạo comment theo điều kiện?
Em xin gửi lại file lịch mới nhất có cả công thức để Thầy NDu và mọi người tìm cách giúp em nhé!
Thôi, bỏ luôn cái cột WK để bảng tính đở rườm rà
Tôi làm cho bạn phiên bản đầu tiên.
Lưu ý:
– File gồm 2 sheet: Sheet Anniversary để ghi những ngày kỷ niệm và Sheet Calendar để hiện lịch
– Tại sheet Anniversary, bạn phải ghi ngày tháng cho đúng chuẩn Date và phải đúng ngày, đúng tháng, đúng năm
– Tôi đã tính toán để Comment chỉ xuất hiện cho những sự kiện đã qua thôi. Ví dụ:
* Sinh nhật ai đó nhằm ngày 12/6/1985. Vậy thì Comment chỉ xuất hiện từ 12/6/1986 trờ về sau (đương nhiên vì 1984 người đó chưa ra đời)
*Ví dụ tiếp ngày 2/9/1945 là ngày Quốc Khánh. Vậy thì khi xuất lịch năm 1944 sẽ không có Comment cho sự kiện Quốc Khánh (đương nhiên vì khi ấy nước ta chưa độc lập)
vân vân…
– Thay đổi năm tại cell B2, lịch sẽ cập nhật theo
– Ngày nhỏ nhất có thể tính toán được là ngày 1/1/1901 (vì khả năng của Excel)
——————
Test thử xem có gì trục trặc không nha
WOA!!Chuẩn chuẩn Thầy ạ! Thật là kỳ diệu…Hihi. Cảm ơn Thầy!
Phiên bản sau là thêm phần nhắc việc đi Thầy. Nghĩa là đến giờ nó sẽ hiện thông báo nội dung cần làm.
Ơ nhưng mà nếu làm vậy thì phải mở file thường xuyên thì mới biết được …@@!
Thôi con chả biết. Thầy có hứng hay ý tưởng gì thì sản xuất tiếp nhé. Còn file này con thấy thích rồi. hihi,Tks Thầy.
Bạn đưa chuột chọn vào WordArt sẽ thấy WordArt có công thức =B2
[ATTACH type="full" alt="Capture (2).JPG"]2065
Mà cell B2 mình đã Custom Format theo code: "Calendar "#
Vậy bây giờ cứ gõ bất cứ chỉ số năm nào vào B2 thì ta sẽ nhìn thấy kết quả "Calendar " Chỉ số năm —> WordArt thì liên kết với B2 nên B2 thế nào thì WordArt sẽ nhìn thấy y chang vậy. Tức không cần phải thêm code nào cả. Bạn đổi WordArt thành Shape thì cứ làm theo nguyên tắc này là được
Thầy ơi cái đoạn code tạo comment là những đoạn nào vậy?
Hix..Con xem không hiểu gì cả..
Phiền Thầy có thể tách code riêng ra để con tìm hiểu được không ạ.
Nghĩa là trong file của Thầy đang có 2 loại code:
+1 loại code dùng để tạo lịch(không tạo ghi chú)
+1 loại code dùng để tìm ngày kỷ niệm rồi tạo ghi chú.
Con muốn tách 2 loại này ra ví dụ như 2 file khác nhau để tìm hiểu rồi vận dụng ạ.
Cảm ơn Thầy.
Code này nè bạn:
Sub CreateMCalendar(ByVal InYear As Long, ByVal InMonth As Long, ByVal Target As Range)
Dim aCal(1 To 6, 1 To 7)
Dim lFirst As Long, lEnd As Long, lDate As Long
Dim lR As Long, lC As Long, n As Long
Dim sDate As String
On Error Resume Next
lFirst = DateSerial(InYear, InMonth, 1)
lEnd = DateSerial(InYear, InMonth + 1, 0)
[COLOR=#0000cd]With Target.Resize(6, 7)
.ClearComments
.ClearContents
.NumberFormat = "d"
End With[/COLOR]
[COLOR=#ff0000]For lDate = lFirst To lEnd
lC = Weekday(lDate)
sDate = Format(lDate, "mm-dd")
With Target.Offset(lR, lC - 1).Resize(1, 1)
[/COLOR][COLOR=#006400].Value = lDate[/COLOR][COLOR=#ff0000]
If dic.Exists(sDate) Then
n = dic.Item(sDate)
[/COLOR][COLOR=#800080]If CLng(aMem(n, 1)) <= lDate Then .AddComment aMem(n, 2)[/COLOR][COLOR=#ff0000]
End If
End With
If lC = 7 Then lR = lR + 1
Next[/COLOR]
End Sub
– Chổ màu xanh dương: Xoá Comment, xoá nội dung và Custom Format cho vùng dạng "d"
– Chổ màu đỏ + Màu xanh lá + Màu tím: Điền lịch và Add Comment. Trong đó
* Màu xanh lá: Điều lịch
* Màu tím: Chèn Comment
Lưu ý: Vòng lập for là duyệt từ ngày đầu tháng đến cuối tháng nhé (của 1 tháng nào đó)
Tuỳ theo yêu cầu mà chia code ra riêng. Trường hợp của bạn để chung lại thì tốc độ mới nhanh (vòng lập duyệt đến đâu thì ta làm luôn 1 lượt các thứ). Nếu chia code ra riêng, mỗi code phải tốn 1 vòng lập (sẽ chậm hơn)
Đúng vậy!
Mình vẫn giữ nguyên các ngày kỷ niệm của bạn,chỉ bỏ bớt đi những định dạng thừa.
Và một số đoạn code đóng mở file mình cũng đã bỏ đi.
Do vậy file chỉ hơi chậm chạp một chút khi cập nhật số năm thôi!
www.giaiphapexcel.com/diendan/threads/h%E1%BB%8Fi-v%E1%BB%81-t%E1%BA%A1o-comment-theo-%C4%91i%E1%BB%81u-ki%E1%BB%87n.87230/page-2#posts
Khóa học Power PI – Ứng dung trong Nhân sự
TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...
Xem khóa học