Доброго времени суток!!! подскажите пожалуйста имеется ли возможность автоматического заполнения датами при выборе месяца (1 число месяца)???
Доброго времени суток!!! подскажите пожалуйста имеется ли возможность автоматического заполнения датами при выборе месяца (1 число месяца)???Maksimys07
Не думаю, что есть какая-то такая встроенная возможность, но можно макросом таблицу заполнить.
[vba]
Код
Sub fillMonthDates() Dim tbl As Table, c As Integer, r As Integer, rOld As Integer Dim d As Integer, dat1 As Date, dat As Date, mDays As Integer
Set tbl = ActiveDocument.Tables.Item(1) 'очистка ячеек от предыдущих значений дней For c = 2 To tbl.Columns.Count For r = 1 To tbl.Rows.Count tbl.Cell(r, c).Range.Text = "" Next r Next c
'запрос первого дня месяца dat1 = CDate(InputBox("Введите дату начала месяца в формате ДД.ММ.ГГГГ")) mDays = Day(DateSerial(Year(dat1), Month(dat1) + 1, 1) - 1)
'генерирование дат в таблице c = 2 For d = 1 To mDays dat = dat1 - 1 + d r = Weekday(dat, vbMonday) If r < rOld Then c = c + 1 tbl.Cell(r, c).Range.Text = Format(dat, "dd.mm.yyyy") rOld = r Next d End Sub
[/vba]
Не думаю, что есть какая-то такая встроенная возможность, но можно макросом таблицу заполнить.
[vba]
Код
Sub fillMonthDates() Dim tbl As Table, c As Integer, r As Integer, rOld As Integer Dim d As Integer, dat1 As Date, dat As Date, mDays As Integer
Set tbl = ActiveDocument.Tables.Item(1) 'очистка ячеек от предыдущих значений дней For c = 2 To tbl.Columns.Count For r = 1 To tbl.Rows.Count tbl.Cell(r, c).Range.Text = "" Next r Next c
'запрос первого дня месяца dat1 = CDate(InputBox("Введите дату начала месяца в формате ДД.ММ.ГГГГ")) mDays = Day(DateSerial(Year(dat1), Month(dat1) + 1, 1) - 1)
'генерирование дат в таблице c = 2 For d = 1 To mDays dat = dat1 - 1 + d r = Weekday(dat, vbMonday) If r < rOld Then c = c + 1 tbl.Cell(r, c).Range.Text = Format(dat, "dd.mm.yyyy") rOld = r Next d End Sub