Страница: 1 |
|
Вопрос: Очень нужна Ваша Помощь!
|
Добавлено: 29.03.11 10:24
|
|
Автор вопроса: Maleta
|
Помогите написать программу в VBA.
Вот сама зачада:
Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, следующей за указанной.
Заранее огромное спасибо!
Ответить
|
Номер ответа: 1 Автор ответа: СанСаныч
Вопросов: 3 Ответов: 118
|
Профиль | | #1
|
Добавлено: 29.03.11 16:28
|
Первое что в голову пришло:
-
- Dim a As Integer
- Dim b As Integer
- a = 2: b = 28
- b = b + 1
- If a < 8 Then
- If a Mod 2 = 0 Then
- If a = 2 Then
- If b > 28 Then b = 1: a = a + 1
- Else
- If b > 31 Then b = 1: a = a + 1
- End If
- Else
- If b > 30 Then b = 1: a = a + 1
- End If
- Else
- If a Mod 2 = 0 Then
- If b > 31 Then b = 1: a = a + 1
- Else
- If b > 30 Then b = 1: a = a + 1
- End If
- End If
-
- If a > 12 Then a = 1
-
- MsgBox "month: " & a & " day: " & b
Ответить
|
Номер ответа: 3 Автор ответа: СанСаныч
Вопросов: 3 Ответов: 118
|
Профиль | | #3
|
Добавлено: 03.04.11 19:26
|
Maleta пишет:
Спасибо, но VBA не запускает программу! В 3 строке выделяет "2".
Опиши как ты запускаешь алгоритм. В коде ошибок нет.
Ответить
|
Номер ответа: 5 Автор ответа: СанСаныч
Вопросов: 3 Ответов: 118
|
Профиль | | #5
|
Добавлено: 08.04.11 23:36
|
Maleta пишет:
Может, я что-то не так делаю?
Все не так. Код не может существовать сам по себе. Нужно создать хотя-бы процедуру и потом запускать код.
Т. е. чтобы проверить алгоритм нужно запускать что нибудь типа:
-
- Sub Noobie()
- Dim a As Integer
- Dim b As Integer
- a = 2: b = 28
- b = b + 1
- If a < 8 Then
- If a Mod 2 = 0 Then
- If a = 2 Then
- If b > 28 Then b = 1: a = a + 1
- Else
- If b > 31 Then b = 1: a = a + 1
- End If
- Else
- If b > 30 Then b = 1: a = a + 1
- End If
- Else
- If a Mod 2 = 0 Then
- If b > 31 Then b = 1: a = a + 1
- Else
- If b > 30 Then b = 1: a = a + 1
- End If
- End If
-
- If a > 12 Then a = 1
-
- MsgBox "month: " & a & " day: " & b
- End Sub
Ответить
|
Страница: 1 |
Поиск по форуму