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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос автоматической группировки строк с привязкой к значен (Макросы/Sub)
Макрос автоматической группировки строк с привязкой к значен
adamm1603 Дата: Воскресенье, 12.06.2016, 17:27 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 0% ±

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

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

начинал с Excel 4.0, видел 2.1
[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
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 0% ±

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

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

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