Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Очень нужна Ваша Помощь! Добавлено: 29.03.11 10:24  

Автор вопроса:  Maleta
Помогите написать программу в VBA.
Вот сама зачада:
Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, следующей за указанной.

Заранее огромное спасибо!

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 СанСаныч



Вопросов: 3
Ответов: 118
 Профиль | | #1 Добавлено: 29.03.11 16:28
Первое что в голову пришло:
  1.  
  2. Dim a As Integer 'month
  3. Dim b As Integer 'day
  4. a = 2: b = 28
  5. b = b + 1
  6. If a < 8 Then
  7.     If a Mod 2 = 0 Then
  8.         If a = 2 Then
  9.             If b > 28 Then b = 1: a = a + 1
  10.         Else
  11.             If b > 31 Then b = 1: a = a + 1
  12.         End If
  13.     Else
  14.         If b > 30 Then b = 1: a = a + 1
  15.     End If
  16. Else
  17.     If a Mod 2 = 0 Then
  18.         If b > 31 Then b = 1: a = a + 1
  19.     Else
  20.         If b > 30 Then b = 1: a = a + 1
  21.     End If
  22. End If
  23.  
  24. If a > 12 Then a = 1
  25.  
  26. MsgBox "month: " & a & "  day: " & b

Ответить

Номер ответа: 2
Автор ответа:
 Maleta



Вопросов: 2
Ответов: 2
 Профиль | | #2 Добавлено: 02.04.11 12:23
Спасибо, но VBA не запускает программу! В 3 строке выделяет "2".

Ответить

Номер ответа: 3
Автор ответа:
 СанСаныч



Вопросов: 3
Ответов: 118
 Профиль | | #3 Добавлено: 03.04.11 19:26
Maleta пишет:
Спасибо, но VBA не запускает программу! В 3 строке выделяет "2".

Опиши как ты запускаешь алгоритм. В коде ошибок нет.

Ответить

Номер ответа: 4
Автор ответа:
 Maleta



Вопросов: 2
Ответов: 2
 Профиль | | #4 Добавлено: 08.04.11 18:21
Захожу в VBA, затем вставляю текст программы (скопированный с этого сайта). Нажимаю кнопку Run Macro(F5) и выделяется "2". Не запускает программу. Может, я что-то не так делаю?

Ответить

Номер ответа: 5
Автор ответа:
 СанСаныч



Вопросов: 3
Ответов: 118
 Профиль | | #5 Добавлено: 08.04.11 23:36
Maleta пишет:
Может, я что-то не так делаю?

Все не так. Код не может существовать сам по себе. Нужно создать хотя-бы процедуру и потом запускать код.
Т. е. чтобы проверить алгоритм нужно запускать что нибудь типа:
  1.  
  2. Sub Noobie()
  3.     Dim a As Integer 'month
  4.     Dim b As Integer 'day
  5.     a = 2: b = 28
  6.     b = b + 1
  7.     If a < 8 Then
  8.         If a Mod 2 = 0 Then
  9.             If a = 2 Then
  10.                 If b > 28 Then b = 1: a = a + 1
  11.             Else
  12.                 If b > 31 Then b = 1: a = a + 1
  13.             End If
  14.         Else
  15.             If b > 30 Then b = 1: a = a + 1
  16.         End If
  17.     Else
  18.         If a Mod 2 = 0 Then
  19.             If b > 31 Then b = 1: a = a + 1
  20.         Else
  21.             If b > 30 Then b = 1: a = a + 1
  22.         End If
  23.     End If
  24.      
  25.     If a > 12 Then a = 1
  26.      
  27.     MsgBox "month: " & a & "  day: " & b
  28. End Sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам