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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос автоматической группировки строк с привязкой к значен - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос автоматической группировки строк с привязкой к значен (Макросы/Sub)
Макрос автоматической группировки строк с привязкой к значен
adamm1603 Дата: Воскресенье, 12.06.2016, 17:27 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 1 ±
Замечаний: 20% ±

Excel 2013
Доброго времени форумчане! Есть таблица на несколько тысяч строк, сгруппировать вручную очень долго, сможете помочь с макросом? В интернете есть информация, но всё не то... В прмере результат
К сообщению приложен файл: 1796820.xlsx(11Kb)
 
Ответить
СообщениеДоброго времени форумчане! Есть таблица на несколько тысяч строк, сгруппировать вручную очень долго, сможете помочь с макросом? В интернете есть информация, но всё не то... В прмере результат

Автор - adamm1603
Дата добавления - 12.06.2016 в 17:27
Gustav Дата: Воскресенье, 12.06.2016, 22:51 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1211
Репутация: 484 ±
Замечаний: 0% ±

начинал с Excel 4.0...
[vba]
Код
Sub io()
    Dim cell As Range
    Dim i As Integer
    Dim begRow As Long
    Dim endRow As Long
    
    Range("A1").ClearOutline
    For i = 1 To 4
        If i <> 3 Then 'P.S. если быть совсем точным к "ТЗ", то уровень 3 пропускаем
        begRow = 0
        For Each cell In Range("A2:A30").Offset(1).Cells
            If begRow Then
                If cell.Value <= i + 1 Then
                    endRow = cell.Row - 1
                    Rows(begRow & ":" & endRow).Group
                    begRow = 0
                End If
            End If
            If cell.Value = i + 1 Then begRow = cell.Row
        Next cell
        End If 'P.S.
    Next i
End Sub
[/vba]


Мой tip box - яд 41001663842605

Сообщение отредактировал Gustav - Воскресенье, 12.06.2016, 23:13
 
Ответить
Сообщение[vba]
Код
Sub io()
    Dim cell As Range
    Dim i As Integer
    Dim begRow As Long
    Dim endRow As Long
    
    Range("A1").ClearOutline
    For i = 1 To 4
        If i <> 3 Then 'P.S. если быть совсем точным к "ТЗ", то уровень 3 пропускаем
        begRow = 0
        For Each cell In Range("A2:A30").Offset(1).Cells
            If begRow Then
                If cell.Value <= i + 1 Then
                    endRow = cell.Row - 1
                    Rows(begRow & ":" & endRow).Group
                    begRow = 0
                End If
            End If
            If cell.Value = i + 1 Then begRow = cell.Row
        Next cell
        End If 'P.S.
    Next i
End Sub
[/vba]

Автор - Gustav
Дата добавления - 12.06.2016 в 22:51
adamm1603 Дата: Понедельник, 13.06.2016, 10:27 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 1 ±
Замечаний: 20% ±

Excel 2013
Спасибо!
 
Ответить
СообщениеСпасибо!

Автор - adamm1603
Дата добавления - 13.06.2016 в 10:27
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос автоматической группировки строк с привязкой к значен (Макросы/Sub)
Страница 1 из 11
Поиск:

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