Календарь в VBA

Программирование на Visual Basic for Applications
Миша
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 18.12.2007 (Вт) 9:27

Календарь в VBA

Сообщение Миша » 18.12.2007 (Вт) 9:31

Помогите пожалуйста!!!

Запросить год и месяц, и вывести календарь на месяц в окно Immediate с помощью метода Debug.Print.
Пример:
Январь 2003:
Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Genyaa
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 17.10.2006 (Вт) 13:46

Сообщение Genyaa » 12.01.2008 (Сб) 23:39

Код: Выделить всё
Sub PrintMonth()
    Dim y As Integer, m As Integer, ww() As String, d As Integer, i As Integer
    y = Application.InputBox("Год", , Year(Date), , , , , 1)
    If y = 0 Then Exit Sub
    m = Application.InputBox("Месяц", , Month(Date), , , , , 1)
    If m = 0 Then Exit Sub
    Debug.Print Format(DateSerial(y, m, 1), "mmmm yyyy")
    Debug.Print "Пн Вт Ср Чт Пт Сб Вс"
    w = Weekday(DateSerial(y, m, 1), vbMonday)
    d = 1
    Do
        ReDim ww(1 To 7)
        For i = 1 To 7
            If i < w And d <= 1 Then
                ww(i) = "  "
            Else
                ww(i) = Format(d, "00")
                d = d + 1
                If d > Day(DateSerial(y, m + 1, 1) - 1) Then Exit For
            End If
        Next i
        Debug.Print Join(ww, " ")
        If d > Day(DateSerial(y, m + 1, 1) - 1) Then Exit Do
    Loop
End Sub
Всякое решение плодит новые проблемы.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 1

    TopList