¿Cómo utilizar "Un algoritmo lunar sobre VB - transferido desde CSDN" en Excel?
Dim WeekName(7), mes agregado(11), NongliData(99), Tiangan(9), Dizhi(11), Summer Tree
ng(11), DayName(30), MonName(12)
Dim curTime, curYear, curMonth, curDay, curWeekday
Dim GongliStr, WeekdayStr, NongliStr, NongliDayStr
Dim i , m, n, k, isEnd, bit, TheDate
Private subform_Load()
Obtener la hora actual del sistema
curTime = Now ()
Nombre de la Semana(0) = " * "
Nombre de la Semana(1) = "Domingo "
Nombre de la Semana (2) = "Lunes"
Nombre de la Semana (3) = "Martes"
Nombre de la Semana(4) = "Miércoles"
Nombre de la Semana(5) = "Jueves"
Nombre de la Semana(6) = " Viernes"
Nombre de la Semana(7) = "Sábado"
Nombre Celestial
Raíl del Cielo(0) = "一"
Cielo Vástago(1) = "B"
Vástago del Cielo(2) = "C"
Vástago del Cielo(3) = "Ding"
Vástago del Cielo ( 4) = "E"
Tallos Celestiales (5) = "Ji"
Tallos Celestiales (6) = "Geng"
Tallos Celestiales (7) = "Corazón"
Tallos Celestiales (8) = "Ren"
Tallos Celestiales (9) = "Gui"
Nombre de las Ramas Terrenales
Rama directa (0) = "子"
Di Zhi (1) = "Chou"
Di Zhi (2) = "Yin" ”
Di Zhi(3) = “Mao”
Di Zhi(4) = “Chen”
Di Zhi(5) = “Sí”
Di Zhi (6) = "Mediodía"
La séptima pregunta) = "No"
嫡之(8) = "Shen"
Rama directa (9) = "Tú"
Di Zhi (10) = "Xu"
Di Zhi (11) = "Hai"
Nombres de constelaciones de animales
Afición a los libros (0) = "Rata"
Afición a los libros (1) = "Buey"
Afición a los libros (2) = "Tigre"
Afición a los libros (3) = "Conejo"
Afición a los libros (4) = "Dragón"
Afición a los libros (5) = "Serpiente"
Afición a los libros (6) = "Caballo"
Libro (7) = "Oveja"
Libro (8) = "Mono"
Libro (9) = "Pollo"
Erudito (10) = "Perro"
Erudito (11) = "Cerdo"
Nombre de la fecha del calendario lunar
NombreDía(0 ) = "* "
NombreDía(1) = "Primer grado"
NombreDía(2) = "Nivel 2 "
NombreDía( 3) = " Tercer Grado"
DayName(4) = "Cuarto Nivel"
DayName(5) = "Quinto Día"
DayName( 6) = "El sexto day"
DayName(7) = "El séptimo día"
day name(8) = "Nivel 8"
DayName (9) = "Noveno día"
DayName(10) = "Décimo día"
Nombre del día(11) = "Undécimo día"
DayName(12) = "
Doce"
NombreDía(13) = "Trece"
NombreDía(14) = "14 "
NombreDía(15) = "15 "
NombreDía(16) = "Dieciséis"
NombreDía(17) = "Diecisiete"
NombreDía(18) = "18 "
NombreDía (19) = "Diecinueve"
NombreDía(20) = "Veinte "
NombreDía(21) = "21 "
NombreDía(22) = " 22 "
NombreDía(23) = "23 "
NombreDía(24) = "24 "
NombreDía( 25) = "25 "
NombreDía(26) = "26 "
NombreDía(27) = "27 "
NombreDía(28) = "28 "
NombreDía (29) = "29 "
DayName(30) = "Treinta"
Nombre del mes lunar
MonName (0) = "* "
MonName(1) = "positivo"
MonName(2) = "dos "
MonName(3) = "tres"
MonName (4) = "cuatro"
MonName(5) = "cinco "
MonName(6) = "seis "
MonName(7) = " siete"
MonName(8) = "ocho"
MonName(9) = "九"
MonName (10) = "十"
MonName(11) = "Eleven"
MonName(12) = "La "
Cada mes en el calendario gregoriano Los primeros días
AgregarMes(0) = 0
AgregarMes(1)= 31
AgregarMes(2) = 59
AgregarMes(3) = 90
AgregarMes(4) = 120
AgregarMes(5) = 151
mes agregar(6)= 181
mes agregar(7)= 212
MesAgregado(8) = 243
MesAgregado(9) = 273
mes agregado(10)= 304
mes agregado (11)= 334
Datos lunares
NongliData(0) = 2635
NongliData(1) = 333387
NongliData(2 ) = 1701
NongliData(3) = 1748
NongliData(4) = 267701
NongliData(5) = 694
NongliData (6) = 2391
NongliData(7) = 133423
NongliData(8) = 1175
NongliData( 9) = 396438
NongliData(10) = 3402
NongliData(11)= 3749
NongliData(12)= 331177
NongliData(13)= 1453
No
gliData(14) = 694
NongliData(15)= 201326
NongliData(16) = 2350
NongliData(17)= 465197
NongliData(18)= 3221
NongliData(19) = 3402
NongliData(20) = 400202
NongliData(21)= 2901
NongliData(22) = 1386
NongliData(23)= 267611
NongliData(24) = 605
NongliData(25) = 2349
NongliData(26)= 137515
NongliData(27) = 2709
NongliData(28) = 464533
NongliData(29) = 1738
NongliData(30) = 2901
NongliData(31)= 330421
NongliData(32) = 1242
NongliData(33 ) = 2651
NongliData(34) = 199255
NongliData(35) = 1323
NongliData(36) = 529706
NongliData (37) = 3733
NongliData(38) = 1706
NongliData(39) = 398762
NongliData(40) = 2741
NongliData(41)= 1206
NongliData(42) = 267438
NongliData(43) = 2647
NongliData(44)= 1318
NongliData(45) = 204070
NongliData(46) = 3477
NongliData(47) = 461653
NongliData(48) = 1386 p> p>
NongliData(49) = 2413
NongliData(50) = 330077
NongliData(51) = 1197
NongliData(52) = 2637
NongliData(53) = 268877
NongliData(54) = 3365
NongliData(55)= 531109
NongliData( 56) = 2900
NongliData(57) = 2922
NongliData(58) = 398042
NongliData(59) = 2395
NongliData( 60)= 1179
NongliData(61)= 267415
NongliData(62) = 2635
NongliData(63) = 661067
NongliData(64)= 1701
NongliData(65) = 1748
NongliData(66) = 398772
p>
NongliData(67) = 2742
NongliData(68) = 2391
NongliData(69) = 330031
NongliData(70)= 1175
NongliData(71)= 1611
NongliData(72) = 200010
NongliData(73) = 3749
NongliData(74) = 527717
NongliData(75) = 1452
NongliData(76) = 2742
NongliData(77) = 332397
NongliData( 78) = 2350
NongliData(79) = 3222
NongliData(80) = 268949
NongliData(81) = 3402
NongliData(82) = 3493
NongliData(83) = 133973
NongliData(84) = 1386
NongliData(85) = 464219
NongliData(86) = 605
NongliData(87) = 2349
NongliData(88) = 334123
NongliData(89) = 2709
NongliData(90) = 2890
NongliData(91) = 267946
NongliData(92) = 2773
NongliData(93) = 592565
NongliData(94)= 1210
NongliData(95) = 2651
NongliData(96) = 395863
NongliData(97) = 1323
NongliData(98) = 2707
NongliData(99) = 265877
Generar el año, mes y día actual del calendario gregoriano = = & gtGong Lister
curAño = Año(curHora)
curMonth =mes(curHora)
curDía = Día(curHora)
GongliStr = curAño & amp "Year"
if(curMonth & lt;10)
GongliStr = GongGongliStr & amp0 & amp;Ke Yue& "Moon"
Otros
Gong liStr = Gong GongliStr & amp Ke Yue & amp "Moon"
Terminará si...
if(curDay & lt; 10)
Gong liStr = Gong GongliStr & amp0 & amp curDay & amp "日"
Otros
Gong liStr = GongGongliStr & ampcurDay & amp"日"
Terminará si...
Generar la semana actual del calendario gregoriano = = & gt día laborable Str
curWeekday = día laborable (curTime)
WeekdayStr = WeekName(curWeekday)
Hora de inicio 1921 2
Número de días desde el 8 de febrero: 1921-2-8 (el primer día del primer mes lunar).
la fecha =(cur año-1921)* 365+Int((cur año-1921)/4)+curDay+Mont
hAdd(curMonth - 1) - 38
Si ((curYear Mod 4) = 0 y curMonth & gt2) entonces
Fecha = fecha + 1
Si... terminará
Calcula los tallos celestes, las ramas terrestres, el mes y el día del calendario lunar.
isEnd = 0
m = 0
hacer
si(NongliData(m)<4095)entonces
k = 11
Otro
k = 12
Terminará si...
n = k p >
Hacer
Si (n & lt0) Entonces
Salir Hacer
Finalizar si...
GetNongliData( El valor del enésimo bit binario de m)
bit = NongliData(m)
Para i = 1 an paso 1
bit = Int(bit / 2)
Entonces
bit = bit Mod 2
si (la fecha & lt; = 29 + bit) entonces
isEnd = 1
Salir Do
Finalizar si...
TheDate = TheDate - 29 dígitos
n = n - 1
Timbre
Si (isEnd = 1) Entonces
Salir Do
Si... terminará
m = m + 1
Anillo
curAño = 1921 + m
curMes = k - n + 1
curDía = LaFecha p>
Si (k = 12) entonces
si (cur mes =(Int(NongliData(m)/65536)+1)) entonces
curMonth = 1 - curMonth
else if(cur mes & gt; (Int(NongliData(m)/65536)+1)) entonces
curMonth = curMonth - 1
Terminará si...
Terminará si...
Generar los signos zodiacales del calendario lunar = = & gtNon-lister
NongliStr = "Año Nuevo Lunar" &;天干((4年)60日)10日);DiZhi(((curYea
r-4)Mod 60)Mod 12)&"Año"
NongliStr = NongliStr & amp"(" & amp书香(((4年)Mod 60)Mod 12);")"
Generar mes y día lunar == >NonliDayStr
if(curMonth <1)then
NongliDayStr = " salto " & MonName(-1 * curMonth)
Otro
NongliDayStr = MonName (curMonth)
Terminará si...
NongliDayStr = NongliDayStr & amp"moon"
NongliDayStr = NongliDayStr & ampday nombre p>
MsgBox NongliStr & ampnonliDayStr
Conector final