Hỏi Code Tháng Âm trong Lich Duong sang Am (2 người xem)

Người dùng đang xem chủ đề này

thanhvien1802

Thành viên chính thức
Tham gia
31/12/07
Bài viết
64
Được thích
17
Xin hỏi các Bác :Code viết tìm Can Chi của Tháng âm : Ô màu vàng trong Excel là chưa có
Xin cảm ơn các Bác trước
 

File đính kèm

Đây là hàm cho yêu cầu của bạn, lưu ý tháng năm là âm lịch nha:

Mã:
Public Function CanChiT(ByVal Thg As Integer, ByVal Yea As Integer) As String
Dim Tmp, CanStr, Nam
CanStr = Array("Giap", "At", "Binh", "Dinh", _
"Mau", "Ky", "Canh", "Tan", "Nham", "Quy")
Nam = CanStr(Yea Mod 10)
Tmp = Switch(Nam = "Giap", "1", Nam = "At", "2", Nam = "Binh", "3", _
Nam = "Dinh", "4", Nam = "Mau", "5", Nam = "Ky", "6", Nam = "Canh", _
"7", Nam = "Tan", "8", Nam = "Nham", "9", Nam = "Quy", "10")
Tmp = (Tmp * 2 + (Thg Mod 10 + 1)) Mod 10
CanChiT = CanStr(Tmp) & " " & Choose(Thg, "Dan", "Mao", _
"Thin", "Ty", "Ngo", "Mui", "Than", "Dau", "Tuat", "Hoi", "Ti", "Suu")
End Function

Cú pháp Tháng can chi = CanChiT(Thang AL,Nam AL)
 

File đính kèm

Upvote 0
Thanks Bác.
Bác xem có 1 lỗi khi ngày âm 29-02 hoặc 30/2 thì bị lỗi.
Có lẽ nó hiểu 29 âm, 30 âm tháng 2 không tồn tại như bên Duơng Lịch
Cụ thể ngày :
17/04/2015
18/04/2015
26/03/2017
27/03/2017
 
Lần chỉnh sửa cuối:
Upvote 0
Chào các anh chị, mình có file app.xlsm khi mở ở máy của mình làm việc ok, copy qua máy khác, làm việc thì được nhưng khi thoát ra và save lai, sau đó mở lại thì báo lỗi "error in loading DLL". Các anh chi nào biết xin chỉ giùm! Cảm ơn rất nhiều.
 
Upvote 0
Xin hỏi các Bác :Code viết tìm Can Chi của Tháng âm : Ô màu vàng trong Excel là chưa có
Xin cảm ơn các Bác trước
Coi tý, sửu, dần, mão, thìn, tỵ, ngọ, mùi, thân, dậu, tuất, hợi là 1, 2,3,...,11,0. Coi giáp, ất, bính, đinh, mậu, kỷ, canh, tân, nhâm, quý là 1,2,..,9,0. Can năm là (năm-3) mod 10. Chi năm là (năm-3) mod 12. Can tháng = ((can năm)*2 + tháng) mod 10. Chi tháng =(tháng+2) mod 12. Từ đó bạn lập công thức, tháng năm theo âm lịch nhé.
 
Upvote 0
Thanks Bác.
Bác xem có 1 lỗi khi ngày âm 29-02 hoặc 30/2 thì bị lỗi.
Có lẽ nó hiểu 29 âm, 30 âm tháng 2 không tồn tại như bên Duơng Lịch
Cụ thể ngày :
17/04/2015
18/04/2015
26/03/2017
27/03/2017

Banj xem lai chút, Hàm của mình đâu có liên quan gì đến ngày đâu. Bạn chỉ càn cho nó tháng mấy? Năm nào? Thế là đủ.
 
Upvote 0
Biết vậy, hàm chỉ lấy giá tri tháng và năm, nhưng những ngày đó là bị lỗi. 1 năm chỉ lỗi 2 ngày.
Vì nó vẫn lấy Month và Year 1 ngày 29-02 và 30-2 thực ra là nó không nhận
 

File đính kèm

Upvote 0
Vì không thể trích ra được : month(D5) hay year(D5) là bị lỗi rồi.
Nên không dùng đuọc : CanChiT(MONTH(D5),YEAR(D5))

MÌnh thay tạm : MONTH(D5) = 1 hàm mới, để lấy kết quả tháng âm
YEAR(D5) = 1 hàm mới, để lấy kết quả năm âm

rồi dùng hàm : CanChiT(hàm 1,hàm 2), là chạy được
 
Lần chỉnh sửa cuối:
Upvote 0
Vậy thì ta sửa hàm thành thế này đi (Vì dằng nao thì ngay tháng năm Âm lịch phải là dạng Text mới tồn tại ngày 30/2):

Mã:
Public Function CanChiT2(ByVal NgayAL As String) As String
Dim Tmp, CanStr, Nam, Ng
Ng = Split(NgayAL, "/")
Thg = Ng(1)
Yea = Ng(2)
CanStr = Array("Giap", "At", "Binh", "Dinh", _
"Mau", "Ky", "Canh", "Tan", "Nham", "Quy")
Nam = CanStr(Yea Mod 10)
Tmp = Switch(Nam = "Giap", "1", Nam = "At", "2", Nam = "Binh", "3", _
Nam = "Dinh", "4", Nam = "Mau", "5", Nam = "Ky", "6", Nam = "Canh", _
"7", Nam = "Tan", "8", Nam = "Nham", "9", Nam = "Quy", "10")
Tmp = (Tmp * 2 + (Thg Mod 10 + 1)) Mod 10
CanChiT2 = CanStr(Tmp) & " " & Choose(Thg, "Dan", "Mao", _
"Thin", "Ty", "Ngo", "Mui", "Than", "Dau", "Tuat", "Hoi", "Ti", "Suu")
End Function

Cú pháp=CanChiT2(Chuỗi ngày âm lịch)----- Công thức trong file =CanChiT2(D3)
 

File đính kèm

Upvote 0
Mình tập viết theo ý của mình :
Mã:
Public Function CanChiT3(ByVal NgayAL As String) As String
Dim Ng, Thg, Yea, x, y, k, n
Ng = Split(NgayAL, "/")
Thg = Ng(1)
Yea = Ng(2)
x = Yea Mod 5
y = Array(8, 0, 2, 4, 6)
k = y(x)
n = (k + Thg) Mod 10
CanChiT3 = Choose(n, "Canh", "Tan", "Nham", "Quy", "Giap", "At", "Binh", "Dinh", "Mau", "Ky") & " " & _
Choose(Thg, "Dan", "Mao", "Thin", "Ty", "Ngo", "Mui", "Than", "Dau", "Tuat", "Hoi", "Ti", "Suu")
End Function
 

File đính kèm

Upvote 0
Lịch âm - dương trên Excel!

Em chào hai bác! Em muốn hỏi các bác có lịch âm - dương các năm trên Excel (từ năm 1909 đến nay), cho em xin với! Mail của em là phungsacuong@gmail.com điện thoại của em là 0979886456 em xin chân thành cảm ơn! }}}}}
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom