Всем доброго здоровья. Есть в готовом Решении JP_Сalendar доработка календаря с кнопкой вывода месяца. Как доработать, чтобы выводился месяц с автоподбором ширины столбцов и выглядел компактно как на картинке в приложении. Файл из указанной темы, который надо подправить тоже прикреплен к сообщению. Можно написать код, который надо вставить в макрос. Спасибо за внимание и тому кто откликнется.
Всем доброго здоровья. Есть в готовом Решении JP_Сalendar доработка календаря с кнопкой вывода месяца. Как доработать, чтобы выводился месяц с автоподбором ширины столбцов и выглядел компактно как на картинке в приложении. Файл из указанной темы, который надо подправить тоже прикреплен к сообщению. Можно написать код, который надо вставить в макрос. Спасибо за внимание и тому кто откликнется.Otter
Private Sub CmbSheet_Click() Dim arr(1 To 8, 1 To 7), i&, j& If TypeName(Selection) <> "Range" Then Exit Sub arr(1, 1) = cmbx_Month.Text & " " & txbx_Year.Text arr(2, 1) = "Пн": arr(2, 2) = "Вт": arr(2, 3) = "Ср": arr(2, 4) = "Чт" arr(2, 5) = "Пт": arr(2, 6) = "Сб": arr(2, 7) = "Вс" For i = 3 To 8 ' по строкам For j = 1 To 7 ' по ячейкам строк (по столбцам) With Me.Controls("Cell_" & i - 2 & "_" & j) arr(i, j) = .Caption End With Next j Next i With Selection(1) .Font.Bold = True .Interior.Color = 5296274 With .Resize(8, 7) .Value = arr .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Rows(1).Merge With .Rows(2) .Font.Bold = True .Interior.Color = 14211288 End With .Columns(6).Resize(, 2).Font.Color = vbRed .EntireColumn.AutoFit End With End With End Sub
[/vba]
можно так: [vba]
Код
Private Sub CmbSheet_Click() Dim arr(1 To 8, 1 To 7), i&, j& If TypeName(Selection) <> "Range" Then Exit Sub arr(1, 1) = cmbx_Month.Text & " " & txbx_Year.Text arr(2, 1) = "Пн": arr(2, 2) = "Вт": arr(2, 3) = "Ср": arr(2, 4) = "Чт" arr(2, 5) = "Пт": arr(2, 6) = "Сб": arr(2, 7) = "Вс" For i = 3 To 8 ' по строкам For j = 1 To 7 ' по ячейкам строк (по столбцам) With Me.Controls("Cell_" & i - 2 & "_" & j) arr(i, j) = .Caption End With Next j Next i With Selection(1) .Font.Bold = True .Interior.Color = 5296274 With .Resize(8, 7) .Value = arr .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Rows(1).Merge With .Rows(2) .Font.Bold = True .Interior.Color = 14211288 End With .Columns(6).Resize(, 2).Font.Color = vbRed .EntireColumn.AutoFit End With End With End Sub