Задумал таблицу ГПР с диаграммой ГАНТА таблица в файле прилогаю хочется автоматизировать (сделать умную с автозаполнением. своял код на VBA Кто может помочь??
[vba]
Код
Sub FillDaysAndWeekdays() Dim ws As Worksheet Dim startCell As Range Dim startDate As Date Dim endDate As Date Dim dayCount As Integer Dim i As Integer
' Заполнение дат For i = 0 To dayCount startCell.Offset(0, i).Value = startDate + i Next i
' Заполнение названий дней недели For i = 0 To dayCount startCell.Offset(1, i).Value = WeekdayName(Weekday(startDate + i), True) Next i
' Изменение ориентации и ширины столбцов For i = 0 To dayCount startCell.Offset(0, i).Orientation = 90 startCell.Offset(1, i).Orientation = 90 startCell.Offset(0, i).ColumnWidth = Len(startCell.Offset(0, i).Value) * 1.2 startCell.Offset(1, i).ColumnWidth = Len(startCell.Offset(1, i).Value) * 1.2 startCell.Offset(0, i).Borders.Weight = xlThin startCell.Offset(1, i).Borders.Weight = xlThin Next i
' Создание таблицы Dim tbl As ListObject Set tbl = ws.ListObjects.Add(xlSrcRange, ws.Range(startCell, startCell.Offset(1, dayCount)), , xlYes) tbl.Name = "ТаблицаДней" tbl.TableStyle = "TableStyleMedium11" tbl.ShowTableStyleRowStripes = False ' Без полоса цвета для строк таблицы End Sub
[/vba]
Задумал таблицу ГПР с диаграммой ГАНТА таблица в файле прилогаю хочется автоматизировать (сделать умную с автозаполнением. своял код на VBA Кто может помочь??
[vba]
Код
Sub FillDaysAndWeekdays() Dim ws As Worksheet Dim startCell As Range Dim startDate As Date Dim endDate As Date Dim dayCount As Integer Dim i As Integer
' Заполнение дат For i = 0 To dayCount startCell.Offset(0, i).Value = startDate + i Next i
' Заполнение названий дней недели For i = 0 To dayCount startCell.Offset(1, i).Value = WeekdayName(Weekday(startDate + i), True) Next i
' Изменение ориентации и ширины столбцов For i = 0 To dayCount startCell.Offset(0, i).Orientation = 90 startCell.Offset(1, i).Orientation = 90 startCell.Offset(0, i).ColumnWidth = Len(startCell.Offset(0, i).Value) * 1.2 startCell.Offset(1, i).ColumnWidth = Len(startCell.Offset(1, i).Value) * 1.2 startCell.Offset(0, i).Borders.Weight = xlThin startCell.Offset(1, i).Borders.Weight = xlThin Next i
' Создание таблицы Dim tbl As ListObject Set tbl = ws.ListObjects.Add(xlSrcRange, ws.Range(startCell, startCell.Offset(1, dayCount)), , xlYes) tbl.Name = "ТаблицаДней" tbl.TableStyle = "TableStyleMedium11" tbl.ShowTableStyleRowStripes = False ' Без полоса цвета для строк таблицы End Sub