Если да, то код может выглядеть так:| Код | Sub test() Dim MyDate As Long Dim A1 As String, A2 As String, A3 As String, A4 As String On Error GoTo ErrorLabel Do MyDate = CLng(InputBox("Введите исходный год", , "1986")) Loop Until (MyDate > 0) And (MyDate < 9999) On Error GoTo 0 A1 = Mid(Right("0000" & CStr(MyDate), 4), 1, 1) A2 = Mid(Right("0000" & CStr(MyDate), 4), 2, 1) A3 = Mid(Right("0000" & CStr(MyDate), 4), 3, 1) A4 = Mid(Right("0000" & CStr(MyDate), 4), 4, 1) If A1 = "0" Then A1 = "4" If A2 = "0" Then A1 = "4" If A3 = "0" Then A1 = "4" If A4 = "0" Then A1 = "4" A1 = Right(CStr(Fix(Sin(CLng(A1)) * 100)), 2) A2 = Right(CStr(Fix(Sin(CLng(A2)) * 100)), 2) A3 = Right(CStr(Fix(Sin(CLng(A3)) * 100)), 2) A4 = Right(CStr(Fix(Sin(CLng(A4)) * 100)), 2) Do Until Len(A1) = 1 A1 = CStr(CLng(Left(A1, 1)) + CLng(Right(A1, 1))) Loop Do Until Len(A2) = 1 A2 = CStr(CLng(Left(A2, 1)) + CLng(Right(A2, 1))) Loop Do Until Len(A3) = 1 A3 = CStr(CLng(Left(A3, 1)) + CLng(Right(A3, 1))) Loop Do Until Len(A4) = 1 A4 = CStr(CLng(Left(A4, 1)) + CLng(Right(A4, 1))) Loop MsgBox "Год светлого будущего: " & A1 & A2 & A3 & A4 ExitLabel: Exit Sub ErrorLabel: If Err.Number = 13 Then Resume Else Resume ExitLabel End Sub |
Добавлено через 2 минуты и 36 секунд
Цитата(Hates @ 25.10.2008, 17:00 ) | | Осталось определить его название по восточному календарю |
|