Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Не группируются столбцы в таблице - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Не группируются столбцы в таблице (Макросы/Sub)
Не группируются столбцы в таблице
Digital Дата: Вторник, 30.10.2018, 14:07 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день уважаемые форумчане!
В своей работе часто использую сайт для проведения закупок. При скачивании с сайта таблицы закупок, таблица выгружается в не очень читабельном виде. В связи с этим, использую макрос чтобы таблица приобретала более удобный для просмотра вид. Проблема в том что при использовании нижеуказанного макроса, строка №9 не сжимается до нужного размера, а столбцы не группируются. Подскажите пожалуйста, что нужно откорректировать в теле макроса, так чтобы строка №9 сжималась до размера указанного в теле макроса, а выделенные столбцы группировались.

[vba]
Код

Sub Выгрузка_плана_с_закуп_ск()
' Выгрузка_плана_с_закуп_ск Макрос

Cells.Select
    With Selection.Font
        .Name = "Times New Roman"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    
    Cells.Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlDistributed
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
    End With

Rows("1:7").Select
Selection.EntireRow.Hidden = True

Rows("9:9").RowHeight = 45

Columns("A:B").Columns.Group
Columns("V:W").Columns.Group
Columns("I:J").Columns.Group
Columns("L:N").Columns.Group
ActiveSheet.Outline.ShowLevels ColumnLevels:=1

Rows("10:10").Select
Selection.AutoFilter

Columns("A:B").ColumnWidth = 8
Columns("C:C").ColumnWidth = 10
Columns("D:D").ColumnWidth = 18.57
Columns("F:F").ColumnWidth = 28
Columns("G:G").ColumnWidth = 40
Columns("H:H").ColumnWidth = 6.57
Columns("I:I").ColumnWidth = 12
Columns("J:J").ColumnWidth = 8
Columns("K:K").ColumnWidth = 8
Columns("L:M").ColumnWidth = 25
Columns("N:N").ColumnWidth = 7
Columns("O:P").ColumnWidth = 19
Columns("Q:Q").ColumnWidth = 10
Columns("R:R").ColumnWidth = 13
Columns("S:S").ColumnWidth = 13
Columns("T:U").ColumnWidth = 18
Columns("V:V").ColumnWidth = 7
Columns("W:W").ColumnWidth = 20
Columns("X:X").ColumnWidth = 10

Cells.Select
    Selection.Rows.AutoFit
    Range("A1").Select

End Sub
[/vba]

Ниже приложил пример файла (таблицы) после использования макроса.
К сообщению приложен файл: 9609702.xlsx(10.4 Kb)


Сообщение отредактировал Digital - Вторник, 30.10.2018, 14:09
 
Ответить
СообщениеДобрый день уважаемые форумчане!
В своей работе часто использую сайт для проведения закупок. При скачивании с сайта таблицы закупок, таблица выгружается в не очень читабельном виде. В связи с этим, использую макрос чтобы таблица приобретала более удобный для просмотра вид. Проблема в том что при использовании нижеуказанного макроса, строка №9 не сжимается до нужного размера, а столбцы не группируются. Подскажите пожалуйста, что нужно откорректировать в теле макроса, так чтобы строка №9 сжималась до размера указанного в теле макроса, а выделенные столбцы группировались.

[vba]
Код

Sub Выгрузка_плана_с_закуп_ск()
' Выгрузка_плана_с_закуп_ск Макрос

Cells.Select
    With Selection.Font
        .Name = "Times New Roman"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    
    Cells.Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlDistributed
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
    End With

Rows("1:7").Select
Selection.EntireRow.Hidden = True

Rows("9:9").RowHeight = 45

Columns("A:B").Columns.Group
Columns("V:W").Columns.Group
Columns("I:J").Columns.Group
Columns("L:N").Columns.Group
ActiveSheet.Outline.ShowLevels ColumnLevels:=1

Rows("10:10").Select
Selection.AutoFilter

Columns("A:B").ColumnWidth = 8
Columns("C:C").ColumnWidth = 10
Columns("D:D").ColumnWidth = 18.57
Columns("F:F").ColumnWidth = 28
Columns("G:G").ColumnWidth = 40
Columns("H:H").ColumnWidth = 6.57
Columns("I:I").ColumnWidth = 12
Columns("J:J").ColumnWidth = 8
Columns("K:K").ColumnWidth = 8
Columns("L:M").ColumnWidth = 25
Columns("N:N").ColumnWidth = 7
Columns("O:P").ColumnWidth = 19
Columns("Q:Q").ColumnWidth = 10
Columns("R:R").ColumnWidth = 13
Columns("S:S").ColumnWidth = 13
Columns("T:U").ColumnWidth = 18
Columns("V:V").ColumnWidth = 7
Columns("W:W").ColumnWidth = 20
Columns("X:X").ColumnWidth = 10

Cells.Select
    Selection.Rows.AutoFit
    Range("A1").Select

End Sub
[/vba]

Ниже приложил пример файла (таблицы) после использования макроса.

Автор - Digital
Дата добавления - 30.10.2018 в 14:07
_Boroda_ Дата: Вторник, 30.10.2018, 14:16 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13502
Репутация: 5526 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Если ничего не править-переписывать, то просто строки
[vba]
Код
ActiveSheet.Outline.ShowLevels ColumnLevels:=1
Rows("9:9").RowHeight = 45
[/vba]
напишите в самом конце
А то Вы сначала выстраиваете высоту 45, а потом автовыслту строки

А если править весь макрос, то нужен исходный файл

* И не используйте Селекты


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕсли ничего не править-переписывать, то просто строки
[vba]
Код
ActiveSheet.Outline.ShowLevels ColumnLevels:=1
Rows("9:9").RowHeight = 45
[/vba]
напишите в самом конце
А то Вы сначала выстраиваете высоту 45, а потом автовыслту строки

А если править весь макрос, то нужен исходный файл

* И не используйте Селекты

Автор - _Boroda_
Дата добавления - 30.10.2018 в 14:16
Digital Дата: Вторник, 30.10.2018, 14:30 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день Boroda!
Я вас понял :)
Благодарю за помощь.

Тема закрыта.
 
Ответить
СообщениеДобрый день Boroda!
Я вас понял :)
Благодарю за помощь.

Тема закрыта.

Автор - Digital
Дата добавления - 30.10.2018 в 14:30
_Boroda_ Дата: Вторник, 30.10.2018, 14:42 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13502
Репутация: 5526 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Нет уж, я уже сделал
[vba]
Код
Sub tt()
    With Range(Cells(1), Cells(1).SpecialCells(xlLastCell))
        With .Font
            .Name = "Times New Roman"
            .Size = 11
        End With
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlDistributed
        Rows("1:7").EntireRow.Hidden = True
        .Rows.AutoFit
    End With
    Columns("A:B").Columns.Group
    Columns("V:W").Columns.Group
    Columns("I:J").Columns.Group
    Columns("L:N").Columns.Group
    Range("N:N,V:V,H:H").ColumnWidth = 7
    Range("A:B,J:K").ColumnWidth = 8
    Range("C:C,Q:Q,X:X").ColumnWidth = 10
    Range("I:I").ColumnWidth = 12
    Range("R:R,S:S").ColumnWidth = 13
    Range("E:E").ColumnWidth = 15
    Range("T:U").ColumnWidth = 18
    Range("O:P,D:D").ColumnWidth = 19
    Range("W:W").ColumnWidth = 20
    Range("L:M").ColumnWidth = 25
    Range("F:F").ColumnWidth = 28
    Range("G:G").ColumnWidth = 40
    Rows("10:10").AutoFilter
    Range("A1").Select
    ActiveSheet.Outline.ShowLevels ColumnLevels:=1
    Rows("9:9").RowHeight = 45
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНет уж, я уже сделал
[vba]
Код
Sub tt()
    With Range(Cells(1), Cells(1).SpecialCells(xlLastCell))
        With .Font
            .Name = "Times New Roman"
            .Size = 11
        End With
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlDistributed
        Rows("1:7").EntireRow.Hidden = True
        .Rows.AutoFit
    End With
    Columns("A:B").Columns.Group
    Columns("V:W").Columns.Group
    Columns("I:J").Columns.Group
    Columns("L:N").Columns.Group
    Range("N:N,V:V,H:H").ColumnWidth = 7
    Range("A:B,J:K").ColumnWidth = 8
    Range("C:C,Q:Q,X:X").ColumnWidth = 10
    Range("I:I").ColumnWidth = 12
    Range("R:R,S:S").ColumnWidth = 13
    Range("E:E").ColumnWidth = 15
    Range("T:U").ColumnWidth = 18
    Range("O:P,D:D").ColumnWidth = 19
    Range("W:W").ColumnWidth = 20
    Range("L:M").ColumnWidth = 25
    Range("F:F").ColumnWidth = 28
    Range("G:G").ColumnWidth = 40
    Rows("10:10").AutoFilter
    Range("A1").Select
    ActiveSheet.Outline.ShowLevels ColumnLevels:=1
    Rows("9:9").RowHeight = 45
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 30.10.2018 в 14:42
Digital Дата: Вторник, 30.10.2018, 15:35 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Boroda!
Благодарю hands
 
Ответить
СообщениеBoroda!
Благодарю hands

Автор - Digital
Дата добавления - 30.10.2018 в 15:35
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Не группируются столбцы в таблице (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!