tranthanhan1962 > 29-11-21, 12:01 PM
ongke0711 > 29-11-21, 07:22 PM
tranthanhan1962 > 29-11-21, 07:44 PM
(29-11-21, 07:22 PM)ongke0711 Đã viết: Anh tạo cái Form nguyên lịch tháng hay cái Form để gõ ngày DL sẽ chuyển sang AL?Mình đang sử dụng bộ code của bác này chuyển từ ngày dương sang ngày âm. Nhưng làm lich không chỉ có vậy còn tính can-chi năm, can chi tháng, can chi ngày. Can - chi năm, và can chi ngày dễ dàng xử lý. Nhưng code can chi tháng dính đên ngày âm lịch là 29/2 và 30/2 sẽ bị lỗi. Mình tính chuyển 2 ngày này ra chuỗi để dùng hàm IIF xử lý riêng nhưng không tìm ra cách.
Có bộ code VBA lâu rồi của tác giả Hồ Ngọc Đức chạy tốt đó anh.
ongke0711 > 29-11-21, 10:12 PM
(29-11-21, 07:44 PM)tranthanhan1962 Đã viết: Nhưng code can chi tháng dính đên ngày âm lịch là 29/2 và 30/2 sẽ bị lỗi. Mình tính chuyển 2 ngày này ra chuỗi để dùng hàm IIF xử lý riêng nhưng không tìm ra cách.
Public Function CanChiNgayAL(ByVal DDate As Date) As String ' DDate là ngày duong lich
Dim Can, Chi
Can = Array("Nhâm", "Quý", "Giáp", ChrW(7844) & "t", "Bính", ChrW(272) & "inh", "M" & ChrW(7853) & "u", "K" & ChrW(7927), "Canh", "Tân")
Chi = Array("Thân", "D" & ChrW(7853) & "u", "Tu" & ChrW(7845) & "t", "H" & ChrW(7907) & "i", "Tý", "S" & ChrW(7917) & "u", "D" & ChrW(7847) & "n", "M" & ChrW(227) & "o", _
"Thìn", "T" & ChrW(7925), "Ng" & ChrW(7885), "Mùi")
CanChiNgayAL = Can(DDate Mod 10) & " " & Chi(DDate Mod 12)
End Function
tranthanhan1962 > 29-11-21, 11:33 PM
ongke0711 > 30-11-21, 12:33 AM
tranthanhan1962 > 30-11-21, 10:11 AM
tranthanhan1962 > 03-12-21, 12:56 AM
Minh Tiên > 03-12-21, 11:58 AM
(03-12-21, 12:56 AM)tranthanhan1962 Đã viết: Đã phát hiện lỗi
Bỏ qua vấn đề lỗi font. Nhưng code chỉ xử lý đúng ngày âm lịch (dd/mm/yyyy), can chi năm, can chi ngày. Nhưng can chi tháng sai bét (mình cũng đang vướng vụ này đây).
Ở đây. ngày 4/11/2021 (DL) thì âm lịch phải là: 30/9/2021 [Ngày Bính Thìn/Tháng Mậu Tuất/Năm Tân Sửu]
ngày 5/11/2021 (DL) thì âm lịch phải là: 1/10/2021 [Ngày Đinh Tỵ /Tháng Kỷ Hợi /Năm Tân Sửu]
Nhưng ở đây đều ra kết quả là tháng Tân Mão. Nhìn vảo là biết sai ngay, 2 tháng 9-10 đều có cùng can chi là Tân Mão. Code mình thì giải quyết đươc tháng 9 [Mậu Tuất], Tháng 10 [Kỷ Hợi]. Nhưng bị lỗi ở ngày AL 29/2 và 30/2 (Date VBA không có 2 ngày này vì dương lịch tháng 2 ngày cuối cùng phải là 28). Chắc phải nghiên cứu thêm
tranthanhan1962 > 03-12-21, 12:05 PM