Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Excel к-во дней в месяце функцией Добавлено: 26.09.06 18:55  

Автор вопроса:  AndryG | Web-сайт: Avr456.nm.ru
 
 Доброго времени суток.

 Помогите, люди добрые, никогда на VB не писал ...
 
 Нужна функция DayInMonth(Month,Year:Word):byte

 Я даю ей год и номер месяца, а она возвращает мне к-во дней в месяце. Вариант
 =ЕСЛИ(ИЛИ(C3=4;C3=6;C3=9;C3=11);30;ЕСЛИ(C3=2;28;31))
 можно не предлагать :-) очень часто нужно использовать.

 Может кто напишет? Заранее благодарен.
 Max_Wer(gav-gav)Ukr.Net

Ответить

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

Номер ответа: 1
Автор ответа:
 ADSemenov.ru



Вопросов: 5
Ответов: 276
 Web-сайт: www.adsemenov.ru
 Профиль | | #1
Добавлено: 26.09.06 19:50
Public Function DayInMonth(Месяц As Long, Год As Long) As Long
  days = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
  ;DayInMonth = days(Месяц - 1)
  If Месяц = 2 And ((Год Mod 4 = 0 And Год Mod 100 <> 0) Or Год Mod 400 = 0) Then DayInMonth = DayInMonth + 1
End Function

Ответить

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



Вопросов: 1
Ответов: 1
 Web-сайт: Avr456.nm.ru
 Профиль | | #2
Добавлено: 26.09.06 20:07

 Премного благодарствую :-)
 
 Тема закрыта.

Ответить

Номер ответа: 3
Автор ответа:
 GenyaA



Вопросов: 0
Ответов: 185
 Web-сайт: www.genyaa.nm.ru
 Профиль | | #3
Добавлено: 26.09.06 20:27
Я бы сделал так:
Function DayInMonth(ByVal y As Integer, ByVal m As Integer)
    If m >= 12 Then
        m = 1
        y = y + 1
    Else
        m = m + 1
    End If
    ;DayInMonth = Day(DateSerial(y, m, 1) - 1)
End Function

Ответить

Страница: 1 |

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



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